Para fazer o teste unitário, você pode escrever o código para a chamada do método que deseja checar. Este é o foco do teste unitário.
Por exemplo, no seu caso, você poderá fazer a chamada ao método diferencaEmDias(), passando parametros, e após a chamada, verificar se o resultado retornado é o esperado.
Exemplo:
public void testDiferencaEmDias() {
long result = diferencaEmDias(xxx);
if (long = YY) {
Pass("Test Ok")
}
else {
Fail("Test Failed");
}
}
Você tem que usar os métodos do JUnit para garantir o comportamento que você espera. Onde coloquei ‘10’, coloque o número que você espera que seja retornado. Se estiver com muitas dificuldades, tente ler o tutorial que tem aqui no GUJ. E se estiver com mais dúvidas, posta ai que ajudamos
import junit.framework.TestCase;
public class CalendarTest extends TestCase {
private SuaClasse suaClasse = new SuaClasse();
public void testDiferencaEmDias() {
assertEquals(10, suaClasse.diferencaEmDias(Calendar.getInstance()));
}
}
Eu que pergunto como assim. No seu código do primeiro post tem um import de JUnit… :-o
Se você vai mesmo usar o JUnit, sugiro que você releia então o tutorial do GUJ. Basicamente, você cria uma classe pra testar a outra. Para cada método que você quer testar, você cria um método de testes na classe de teste.
Dentro do método, você usa os métodos do JUnit para assegurar que o comportamento que o método vai ter é o esperado, ou seja, que ele vai retornar o que você espera, que não vai lançar nenhum erro, e por ai vai.
No método que você criou no primeiro post, ele recebe apenas uma data, e não duas. Criei um teste para ele no meu post acima. Qualquer dúvida, posta o código completo ai e a gente ajuda.
No meu primeiro post tem um exemplo de teste que fiz pro seu método que você pode tentar. No código que eu postei, só substitua o número 10 pelo número de dias que você espera que o método retorne.
Não necessariamente. Como disse, você precisa colocar no lugar do número 10 o valor que você espera que seu método retorne. E seu método vai retornar a diferença entre as datas do atributo ‘date’ da sua classe e do parâmetro ‘dataLimite’ do método diferencaEmDias. Por exemplo, se você espera a diferença entre 07/08/2006 e 08/08/2006, o método deve retornar 1.
Olá pessoal…
Sou novata em Java e um dos meus maiores problemas é realizar testes.
Me disseram para usar o JUnit… e estou tentando realizar um teste, mas surgiu uma dúvida.
Quero verificar se o meu método abaixo é funcional:
[code]public long diferencaEmDias(java.util.Calendar dataLimite)
{
long begin = date.getTimeInMillis();
long end = dataLimite.getTimeInMillis();
return (end - begin) / (24 * 60 * 60 * 1000);
}
[/code]Minha dúvida é:
Gerou um CalendarTest, mas sou eu que tenho que implementar o código de teste?? É essa minha maior dificuldade… não consigo fazer isso…
Segue o CalendarTest:
[code]import junit.framework.TestCase;
public class CalendarTest extends TestCase {
public void testDiferencaEmDias() {
fail("Not yet implemented");
}
Olá… eu já li o tutorial aqui do GUJ. Valeu
Como assim usar o JUnit para garantir o comportamento que eu espero??
O meu método é para receber duas datas e retornar a diferença de dias entre elas. Gostaria de realizar um teste para ver se esta correto. Mas eu não sei como faço para receber essas duas datas…