Laravel: qual a diferença entre Unit Test e Feature Test?

Ao seguir os tutoriais do Laravel sobre testes (https://laravel.com/docs/5.6/testing) você talvez tenha se deparado com dois métodos para criação de testes: unit e feature. O que são?

Observe o gif acima. Individualmente, tanto o secador quando a lixeira cumprem seu trabalho corretamente. Eles representam suas classes, as quais são testadas através dos testes unitários (Unit Test).

Porém, quando você coloca elas juntas, algo inesperado acontece. Para testar esse tipo de reação, usam-se os testes de funcionalidades, ou Feature Tests. Ao invés de testar um único pequeno aspecto da sua aplicação, tente reproduzir o que aconteceria quando um usuário tentasse usar seu APP.

Resumindo: testes unitários focam no ponto de vista do desenvolvedor, em classes e tem uma visão mais direta. Testes de feature costumam ver as coisas do ponto de vista do usuário, testando o que o usuário fará, tendo uma visão mais ampla.

 

Fontes: 

https://laravel.com/docs/5.6/testing (acesso em 18/08/2018)

https://laracasts.com/discuss/channels/testing/feature-vs-unit  (acesso em 18/08/2018)

 

 

Seus comentários são muito apreciados.

This site uses Akismet to reduce spam. Learn how your comment data is processed.