Problemas com JUnit

3 respostas
urubatan
tentei utilizar finalmente a JUnit, e seguindo o cookbook do site criei o seguinte teste:
public class UserTest extends TestCase {
	public UserTest(String param){
		super(param);
	}
	
	/**
	 * metodo criado em 10/08/2003
	 * @see junit.framework.TestCase#runTest()
	 */
	protected void runTest() throws Throwable {
		User user1 = testCreateUser();
		testPersistUser(user1);
		testAddWorkHours(user1);
		testVerifyWorkHours(user1);
		testLoginUser(user1);
	}

	public User testCreateUser(){
		User u = new User("rodrigo","jh7615l123","Rodrigo Urubatan Ferreira Jardim","[email removido]",UserDAO.getInstance().getRole("CEO"));
		assertTrue(u!=null);
		return u;
	}
	
	public void testPersistUser(User user){
		User user1 = UserDAO.getInstance().save(user);
		assertTrue(user1.equals(user));
	}
	
	public void testAddWorkHours(User user){
		user.addWorkHour(new WorkHour(new Date(),90,"Leitura de e-mails de diversos clientes"));
		user.addWorkHour(new WorkHour(new Date(), new Date(),"Trabalhos diversificados no projeto",ProjectDAO.getInstance().getProject("junitTest")));
		user.addWorkHour(new Meeting(new Date(),45,50,"Reunião sobre alterações no projeto",ClientDAO.getInstance().getClient("Testecliente"),"a reunião foi muito produtiva e correu tudo muito bem, alem do projeto ter sido aprovado"));
		assertTrue(user.getWorkHours().size()==3);
	}
	
	public void testVerifyWorkHours(User user){
		Collection c = user.getWorkHours();
		int total = 0;
		WorkHour w;
		for(Iterator i=c.iterator();i.hasNext();){
			w = (WorkHour) i.next();
			total += w.getTotalTime();
		}
		assertTrue(total>=185);
	}
	
	public void testLoginUser(User user){
		User user1 = UserDAO.getInstance().login("rodrigo","jh7615l123");
		assertTrue(user.equals(user1));
	}
}
criei uma suite de testes, para executar este e outros testes do mesmo package:
public class AllTests {

	public static void main(String[] args) {
		junit.textui.TestRunner.run(suite());
	}

	public static Test suite() {
		TestSuite suite = new TestSuite("Test for br.com.usiinformatica.intranet.dao");
		//$JUnit-BEGIN$
		suite.addTest(new TestSuite(UserTest.class));
		//$JUnit-END$
		return suite;
	}
}

mas quando executo a suite da a seguinte mensagem de erro:

.F.F.F
Time: 0,01
There were 3 failures:
1) warning(junit.framework.TestSuite$1)junit.framework.AssertionFailedError: No tests found in br.com.usiinformatica.intranet.dao.UserTest
at br.com.usiinformatica.intranet.dao.AllTests.main(AllTests.java:21)
2) warning(junit.framework.TestSuite$1)junit.framework.AssertionFailedError: No tests found in br.com.usiinformatica.intranet.dao.ClientTest
at br.com.usiinformatica.intranet.dao.AllTests.main(AllTests.java:21)
3) warning(junit.framework.TestSuite$1)junit.framework.AssertionFailedError: No tests found in br.com.usiinformatica.intranet.dao.ProjectTest
at br.com.usiinformatica.intranet.dao.AllTests.main(AllTests.java:21)

FAILURES!!!
Tests run: 3, Failures: 3, Errors: 0

alguem tem ideia de qual pode ser o problema??

valeus :-)

ja li a documentação do site [url]www.junit.org[/url] e não achei nenhuma solução, parece que isto devia funcionar :-(

agradeço qualquer ajuda :-)

3 Respostas

cv1

Pela olhada rapida que eu dei nesse codigo que vc postou, sim, deveria…

Mas, se eu puder fazer uma pequena correcao aqui, testCreateUser nao pode retornar nada - o JUnit espera que os metodos test*() tenham retorno void. E’ muito melhor usar setUp() e tearDown() pra essas coisas :wink:

urubatan

valeu, vou fazer isto :slight_smile:

estou tentando desenvolver uma aplicação pequena testando a metodologia TDD :slight_smile:

marece bem legal :slight_smile:

estou gostando da ideia, alem de se ter certeza de quando atingiu cada ponto do objetivo proposto para aquela aplicação :slight_smile:

cv1

Outra coisa legal de desenvolver aplicacoes usando TDD e’ que, antes mesmo de comecar a desenvolver, vc ja sabe se a API da sua aplicacao ta ficando boa… afinal, vc ja comeca a desenvolver a dita cuja usando-a :smiley:

Criado 10 de agosto de 2003
Ultima resposta 10 de ago. de 2003
Respostas 3
Participantes 2