none
Dúvidas sobre tecnicas para utilização de Testes Unitários. RRS feed

  • Pergunta

  • Olaa,

                 Pelo que estudei a técnica mais utilizada na utilização de Testes Unitários é a Injeção de Dependência, diante disso surgiram algumas dúvidas:

    1) A Injeção de Dependência é a mais indicada ? Se Sim, porque ? Se não, Porque ?

    2) Qual outra técnica seria mais aconselhada ? E porque ?

    Desde Já, Agradeço.

    Novamente Obrigado.

    quinta-feira, 30 de agosto de 2012 13:57

Respostas

  • Olá Rodrigo,

    1) Não encare DI como uma regra. É apenas uma solução específica para um cenário específico. Vejamos o porquê:
    Para realizar os testes unitários injetando dependências é necessário que sua aplicação possua um baixo grau de acoplamento, ou seja, não encapsule o controle sobre componentes que lidam com outras responsabilidades, o que impede testar esta funcionalidade separadamente.

    Este problema é resolvido pela inversão de controle, o que possibilita mas não obriga a utilização da injeção de dependência.
    No caso de sistemas legados, por exemplo, você provavelmente não conseguirá injetar uma dependência, porém existem outras soluções. Dependendo do grau de acoplamento entre os componentes você poderá trabalhar com factories e/ou locators. (2).

    Segue um bom material para entendimento:
    http://martinfowler.com/articles/injection.html

    Abs.



    @pedrosavelis

    • Sugerido como Resposta Pedro Savelis terça-feira, 11 de setembro de 2012 00:40
    • Marcado como Resposta _dev quinta-feira, 13 de setembro de 2012 01:32
    sexta-feira, 7 de setembro de 2012 23:37

Todas as Respostas

  • Olá Rodrigo,

    1) Não encare DI como uma regra. É apenas uma solução específica para um cenário específico. Vejamos o porquê:
    Para realizar os testes unitários injetando dependências é necessário que sua aplicação possua um baixo grau de acoplamento, ou seja, não encapsule o controle sobre componentes que lidam com outras responsabilidades, o que impede testar esta funcionalidade separadamente.

    Este problema é resolvido pela inversão de controle, o que possibilita mas não obriga a utilização da injeção de dependência.
    No caso de sistemas legados, por exemplo, você provavelmente não conseguirá injetar uma dependência, porém existem outras soluções. Dependendo do grau de acoplamento entre os componentes você poderá trabalhar com factories e/ou locators. (2).

    Segue um bom material para entendimento:
    http://martinfowler.com/articles/injection.html

    Abs.



    @pedrosavelis

    • Sugerido como Resposta Pedro Savelis terça-feira, 11 de setembro de 2012 00:40
    • Marcado como Resposta _dev quinta-feira, 13 de setembro de 2012 01:32
    sexta-feira, 7 de setembro de 2012 23:37
  • Prezado Pedro,

    Muito obrigado pela atenção, minha dúvida foi sanada.

    Atenciosamente.

    quinta-feira, 13 de setembro de 2012 01:32