Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodrigofariat

[Resolvido] Entedendo testes com o PHPUnit

Recommended Posts

Pessoal,

 

Analisei todo o funcionamento desse código.

Entendi todos, mas estou com uma duvida no assertEquals2.

Eu acredito que a função do assertEquals2 retorna o elemento foo.

A forma de que eu pensei esta certa ?

 

class StackTest extends PHPUnit_Framework_TestCase
{
    public function testPushAndPop()
    {
        $stack = array();
        1)$this->assertEquals(0, count($stack));
 
        array_push($stack, 'foo');
        2)$this->assertEquals('foo', $stack[count($stack)-1]);
        3)$this->assertEquals(1, count($stack));
 
        4)$this->assertEquals('foo', array_pop($stack));
        5)$this->assertEquals(0, count($stack));
    }
}
?>

Att,

 

Rodrigo Faria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução:

 

O resultado afirmou que ocorreram 3 testes, e 5 assertions.

O código StackTest1.php cria uma pilha de elementos vazia. A função count conta os elementos da pilha. O count retorna 0 para uma variável que não existe.

 

Como a pilha esta vazia, o primeiro assertEquals à afirmação é verdadeira pois o primeiro parâmetro é 0, e o resultado do função count é 0, ou seja não há elementos na pilha. Em seguida um elemento “foo“ é inserido na pilha.

 

No segundo asserEquals à afirmação é verdadeira pois elemento “foo” é o mesmo que o retorno da função $stack[count($stack)-1]: o count determina o valor 1, o mesmo é subtraído por -1, assim temos o primeiro elemento da pilha($pilha[0]), que retorna o primeiro elemento da pilha.

 

No terceiro assertEquals é verdadeiro, pois o valor 1 é o mesmo que o resultado do count, que retorna o 1, pois existe só um elemento na pilha.

 

No quarto asserEquals o elemento é removido do array.

 

No quinto assertEquals á afirmação é verdadeira pois o primeiro parâmetro 0 e o retorno da função count é 0. Isso mostra que a pilha esta vazia novamente.

 

Terminado a execução do Stack.php percebe-se que não houve nenhuma falha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.