Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Forma de escrever teste

No exercício 12 Testando a classe MatematicaMaluca, por que os testes foram escritos em metodos separados assim: public function testDeveMultiplicarNumerosMaioresQue30() { $matematica = new MatematicaMaluca(); $this->assertEquals(50*4, $matematica->contaMaluca(50)); }

public function testDeveMultiplicarNumerosMaioresQue10EMenoresQue30() 
{
    $matematica = new MatematicaMaluca();
    $this->assertEquals(20*3, $matematica->contaMaluca(20));
}

public function testDeveMultiplicarNumerosMenoresQue10() 
{
    $matematica = new MatematicaMaluca();
    $this->assertEquals(5*2, $matematica->contaMaluca(5));
}

Não poderiam ser escritos assim? ... public function testContaMaluca() { $maluca = new MatematicaMaluca;

    $this->assertEquals(140, $maluca->contaMaluca(35));
    $this->assertEquals(90, $maluca->contaMaluca(30));
    $this->assertEquals(45, $maluca->contaMaluca(15));
    $this->assertEquals(20, $maluca->contaMaluca(10));
    $this->assertEquals(10, $maluca->contaMaluca(5));
}
1 resposta
solução!

Poder poderiam Ennio, mas ai você agrupa testes que possuem condições diferentes, fugindo um pouco do que seria teste de unidade considerando os contextos de execução.

Isso é mais uma escolha pessoal.

Lembrando: se você tem mais de um possível resultado para a execução de um método, é bom deixar claro no teste cada caso. Por isso, fazer os testes separados pode ser uma boa ideia, por que assim você consegue saber qual foi o caso de teste que falhou diretamente na mensagem.