1
resposta

Nos testes de interface prefiro implementar Setup-TearDown. Nos testes unitários prefiro padrão AAA

Inicialmente eu gostaria de citar a fonte que o time xUnit recomenda: https://jamesnewkirk.typepad.com/posts/2007/09/why-you-should-.html.

Nesse post eles falam que são contra Setup e TearDown na implementação de testes unitários porque torna o código menos legível. Não conseguimos identificar a entrada de dados prontamente ao lermos os testes. Isso no contexto de teste unitários faz sentido mas no contexto de testes de interfaces (sem inserção de dados) utilizando Selenium não faz sentido porque os dados da aplicação web são inseridos na etapa de Migration antes de subirmos a página e, nesse contexto, nenhuma confusão de código é inserida no uso de Setup e Tear Down. Assim a minha resposta para "Devo implementar Setup e Tear Down?" é: Depende do cenário.

1 resposta

Olá Marcio

Nos testes unitários, a recomendação do time xUnit é evitar a utilização de Setup e TearDown, pois eles podem tornar o código menos legível e dificultar a identificação dos dados de entrada. Nesse caso, é preferível utilizar o padrão AAA (Arrange, Act, Assert), onde cada parte do teste é separada de forma mais clara.

Por outro lado, nos testes de interface utilizando Selenium, a inserção de dados na etapa de Migration antes de subir a página pode eliminar a confusão de código causada pelo uso de Setup e TearDown. Portanto, nesse contexto, a utilização desses métodos pode fazer sentido.