Questões de Programação - JUnit para Concurso
Foram encontradas 52 questões
Para realizar testes com o JUnit considere o caso apresentado em seguida: o problema FizzBuzz.
FizzBuzz consiste em exibir uma lista de 1 a 30, um em cada linha, e filtrar todos os números respeitando as regras:
− números divisíveis por 3 devem retornar "Fizz"
− números divisíveis por 5 devem retornar "Buzz"
− números divisíveis por 3 e 5 devem retornar "FizzBuzz"
Antes de começar a escrever os testes, é preciso definir o que precisa ser testado, para isso foi criada a lista abaixo com todos os testes que serão necessários:
[1] Retornar 1 ao passar 1;
[2] Retornar 2 ao passar 2;
[3] Retornar Fizz ao passar 3;
[4] Retornar 4 ao passar 4;
[5] Retornar Buzz ao passar 5;
[6] Retornar Fizz ao passar 6;
[7] Retornar 7 ao passar 7;
[8] Retornar 8 ao passar 8;
[9] Retornar Fizz ao passar 9;
[10] Retornar Buzz ao passar 10;
[11] Retornar FizzBuzz ao passar 15;
[12] Retornar FizzBuzz ao passar 30.
public class Fizzbuzz {
public String verificaFizzbuzz(Integer numero) {
if (numero % 3 == 0) {
return "Fizz";
} else if (numero % 5 == 0) {
return "Buzz";
} else {
return numero.toString();
}
}
}
O teste 11 deve retornar "FizzBuzz" quando for passado 15 como parâmetro e seu código é:
@Test
public void retornaFizzBuzzParaQuinze() {
Fizzbuzz fizzbuzz = new Fizzbuzz();
assertEquals("FizzBuzz", fizzbuzz.verificaFizzbuzz(15));
}
Em condições ideais, ao executar os testes de 1 a 11 no JUnit, todos com códigos corretos e semelhantes ao código do teste 11 acima, resulta em:
O JUnit é um framework que permite realizar testes unitários de códigos Java, herdando algumas características da própria linguagem. Na versão 4.11, ele permite, entre outros recursos, mudar a ordem de testes, criar testes parametrizados, executar testes de exceção e testes temporizados por meio da palavra-chave timeout.
Embora o JUnit apresente limitações, como a de não apoiar a aplicação de um critério de teste, esse framework pode ser utilizado ainda que estejam disponíveis apenas o bytecode e a especificação do programa.
Por meio do JUnit, framework de teste que viabiliza a documentação e execução automática de testes de unidade em Java, é possível obter informações a respeito da cobertura obtida pelos casos de teste.
O método setUp() é utilizado para sinalizar o início do processo de teste, ao passo que o método tearDown() sinaliza o final desse processo, desfazendo o que o setUp() fez.