[quote=neoreload][quote=macario1983][quote=neoreload]Bom pessoal, como tinha dito antes o problema é com a ordem dos testes, depois de muito tempo ainda continua. Fiz aqui os testes de duas classes, um exemplo é que entre os testes tem um para alterar o percentual de desconto, para ele alterar ele busca o produto pelo código cadastrado, era para ele rodar no final depois do produto ter sido cadastrado em outro teste que eu fiz, só que ele tem vezes que roda primeiro e outra roda normal por último, quando vai primeiro ele diz que é falso, só que ele ta dando falso porque rodou antes do de cadastrar. Como que faço para mudar isso? lembrando que ainda to no básico dos testes ^^ .
Como está o código:
[code]
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package ME_POO;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.BeforeClass;
import ME_POO.Lanchonete;
import ME_POO.Cardapio;
/**
*
-
@author Vanderson
*/
public class Testes {
private static Lanchonete lanchonete;
private static Cardapio cardapio;
public Testes() {
}
@BeforeClass
public static void Inicializar() {
lanchonete = new Lanchonete(2,2);
cardapio = new Cardapio(2);
}
//Lanchonete
@Test
public void testAdicionarCliente() {
System.out.println(“AdicionarCliente”);
Cliente pCliente = new Cliente(“1234”, “Lucas”, “Rua C”);
boolean expResult = true;
boolean result = lanchonete.AdicionarCliente(pCliente);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
@Test
public void testAdicionarCliente2() {
System.out.println(“AdicionarCliente2”);
Cliente pCliente = new Cliente(“12345”, “Lucas”, “Rua C”);
boolean expResult = true;
boolean result = lanchonete.AdicionarCliente(pCliente);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
@Test
public void testExcluirCliente() {
System.out.println(“ExcluirCliente”);
String pCPF = “1234”;
boolean expResult = true;
boolean result = lanchonete.ExcluirCliente(pCPF);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
@Test
public void testBuscarCliente() {
System.out.println(“BuscarCliente”);
String pCPF = “12345”;
Cliente result = lanchonete.BuscarCliente(pCPF);
assertNotNull(result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
//Cardapio
@Test
public void testAdicionarProduto() {
System.out.println(“AdicionarProduto”);
Produto pProduto = new Produto(50, “ssss”,7, 1);
boolean expResult = true;
boolean result = cardapio.AdicionarProduto(pProduto);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
@Test
public void testAdicionarProduto2() {
System.out.println(“AdicionarProduto”);
Produto pProduto = new Produto(60, “zzzz”,8, 2);
boolean expResult = true;
boolean result = cardapio.AdicionarProduto(pProduto);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
@Test
public void testRemoverProduto() {
System.out.println(“RemoverProduto”);
int pcodigo = 50;
boolean expResult = true;
boolean result = cardapio.RemoverProduto(pcodigo);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
// fail(“The test case is a prototype.”);
}
@Test
public void testAlterarPercentualDesconto() {
System.out.println(“AlterarPercentualDesconto”);
int pCodigo = 60;
double pNovoValor = 7;
boolean expResult = true;
boolean result = cardapio.AlterarPercentualDesconto(pCodigo, pNovoValor);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
@Test
public void testBuscarProduto() {
System.out.println(“BuscarProduto”);
int pcodigo = 60;
Produto result = cardapio.BuscarProduto(pcodigo);
assertNotNull(result);
// TODO review the generated test code and remove the default call to fail.
//fail(“The test case is a prototype.”);
}
}
[/code][/quote]
Cara por coincidência eu fiz um trabalho da faculdade sobre Junit este final de semana e acho que posso te ajudar com algumas coisas que observei…
Repare que ordem de execução da tela do Junit mostra a ordem dos métodos…
Você pode tentar alterar a ordem deste jeito, foi assim que fiz
Outra coisa no teste de inserir, porque você não usa asserTrue?[/quote]
Rapaz essa parte do asserTrue é verdade mesmo, nem tinha pensado ^^. Agora sobre tela do Junit mostra a ordem dos métodos, eu uso o netbeans e não entendi direito isso. Aqui eu vi a parte inferior esquerda que tem o nome dos testes , mas não pode alterar nada ali :([/quote]
Ta bom oq vc pode fazer é o seguinte
Pois imprimi na tela o nome dos metodos
vc poderia alterar a ordem deles, ir trocando
agora depende oq vc quer fazer
a anotação @beforeClass é executada somente uma vez…
enquanto a anotação @before é executada cada vez que é encontrada a anotação @test
pense nisso…
no meu caso eu precisa popular arraylist uma vez
e fazer testes, de tamanho de lista, inserir mesmo objeto e remover…
deu certim…
observando a ordem que é executado…
sobre a ordem que o Junit mostra como essa figura

Assim eu observei a ordem que o Junit executa os métodos…
É isso, vlw