Assertions serve pra quê?

9 respostas
souarte

olá, dei uma olhada num tutorial sobre assertions aqui no GUJ, mas infelizmente ainda não entendi direito.
devemos usá-las no lugar daqueles “if” que usamos pra depurar ou não tem nada a ver?

obrigado pessoal!!

9 Respostas

Zakim

olha, geralmente os utilizo para testes!

testes de cobertura e unidade!

é uma forma de saber se o código que vc fez realmente está fazendo o que vc pensa q ele está fazendo.

souarte

desculpa é que sou muito iniciante.
mas nos POGs que eu faço as vezes, pra ver se um método faz o que eu quero ou algo do tipo, boto um:
if(alguma coisa) System.out.println(“deu certo”);
assertions seria uma forma de eu não fazer mais isso? é feio ter esses ifs no código?

Zakim

hehehe… é horrivel ter esses tipo de ifs no código.

eu tbm faço isso as vezes para testes, mas só para testes e depois tiro. digamos que seja um debug manual… hehehe…

vc pode utilizar assertions sim e exceptions tbm para controlar e encontrar os bugs de sua aplicação.

de uma lida sobre JUnit, apesar de ser um pouco enfadonho trabalhar com ele sem fins comerciais, a teoria vai t ajudar mto, pq ele trabalha com assertativas tbm…

valeu :stuck_out_tongue:

souarte

brigadao pela paciencia cara!

Zakim

:stuck_out_tongue:

de nada!

vanzella

souarte:
desculpa é que sou muito iniciante.
mas nos POGs que eu faço as vezes, pra ver se um método faz o que eu quero ou algo do tipo, boto um:
if(alguma coisa) System.out.println(“deu certo”);
assertions seria uma forma de eu não fazer mais isso? é feio ter esses ifs no código?

Souarte, a unica diferenca de assert para o seu if, é que assert pode ser abilitado e desabilitado, sendo assim seu programa não sofrera nenhuma alteração, não lançara o erro e não imprimira nada na tela, caso seja implementado corretamente.

jgbt

Complementando, Assertions devem ser usadas para testar situações que nunca deveriam acontecer, e se aconteceu, é pq algo muito errado com seu progrma aconteceu, e a melhor coisa a fazer é abortar a execução.

[]´s

Amanweb

Assertions tem por objetivo assegurar as pré (entrada) e pós (saída) condições de um método. É mais utilizado quando desenvolvemos softwares por contrato (onde a maioria dos requisitos são definidos antes).

denni

Achei no forum do guj, uma explicação de como utilizar os assertions e como desabilitá-los na execução de seus programas, espero que ajude!

http://www.guj.com.br/posts/list/56761.java

Criado 27 de fevereiro de 2008
Ultima resposta 27 de fev. de 2008
Respostas 9
Participantes 6