Teste unitários são instrumentos de desenvolvimento que promovem a qualidade e segurança do software. Nem todo mundo sabe o que é ou como se constrói testes. Para os felizardos profissionais que tem como prática cotidiana o desenvolvimento orientado a testes (TDD) os benefícios são muitos: Cobertura de código, desenvolvimento ordenado e orientado, refatoração etc. Testes Unitários são um assunto muito importante, porém extenso. Sua aplicação trás real benefício ao desenvolvimento. Veremos neste post uma das possibilidades do testes unitários: o teste de exceção.

 

Uma das possibilidades no desenvolvimento de testes unitários é a capacidade de testar exceções. Podemos criar métodos na nossa classe de testes que "esperam" exceções. Na imagem abaixo apresentamos um código exemplo desse tipo de teste. 

Para testar a exceção precisamos "decorar" o método do teste com a classe "ExpectedException". É necessário informar qual tipo de exceção é esperada. No nosso exemplo, esperamos que o método ValidarDadosContribuinte() retorne uma exceção do tipo ArgumentException. Abaixo apresentamos o escopo deste método.

O fonte exemplo acima faz algumas verificações de valores do objeto Contribuinte. Caso alguma das propriedades acima apresentadas estejam vazias ou preenchidas com o valor "0" uma exceção de Argumento será disparada.

 

Rodando nosso teste teremos o seguinte resultado:

 

Vejam que o resultado do nosso teste Passou. Esperemos uma exceção e ela ocorreu. Portanto, o teste está válido.

 

Bem, quis apresentar aqui que nossos testes unitários podem ir além das assertivas (True, False, Equals). Espero que este post seja útil e lhe ajude ter uma melhor experiência de desenvolvimento.

 

Não perca tempo, participe, comente este artigo e diga sua opinião.

Aprofunde seus conhecimentos sobre este tema na comunidade ALM

 

Exibições: 672

Comentar

Você precisa ser um membro de DevBrasil para adicionar comentários!

Entrar em DevBrasil

Comentário de Marcela Mariotti Peres em 4 janeiro 2011 às 12:23
Já utilizei Testes Unitários em alguns projetos na empresa que eu trabalhava, e realmente vale a pena!
Infelizmente não é todo mundo que conhece, e nem sabem o quanto diminui os riscos e falhas do projeto.

Muito bom post. Parabéns, Yan! :)
Comentário de Yan de Lima Justino em 4 janeiro 2011 às 11:45
De fato, Vinícios, esse método tá precisando de uma refatorada. rsrsrrsr
Comentário de André Luiz de Rocha Castro em 4 janeiro 2011 às 9:42

Não conhecia essa funcionalidade de testar exceções, facilita muito as coisas.

Abraços.

Comentário de Michaell Dantas em 4 janeiro 2011 às 4:20
Ainda sou um pouco leigo em testes de software, mas com certeza deve ser muito necessário !!!
Comentário de José Roberto Araújo em 4 janeiro 2011 às 1:10

Excelente POST Yan.

Parabéns... Today coding without TDD, It´s not Excelent Coding... But Common Coding !!!

Think That...

 

Vamos que Vamos rumo ao DevBrasil Summit 2011

Comentário de Yan de Lima Justino em 3 janeiro 2011 às 23:49
De fato, é muito bom! Oferece muitos recursos de testes unitários.
Comentário de Erick Mendonça em 3 janeiro 2011 às 22:58

Bacana, eu nunca fui fundo no TDD no Visual Studio, parece ser muito bacana :)

© 2019   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço