Em relação ao padrão de teste clássico de Arrange-Act-Assert , frequentemente me pego adicionando uma contra-afirmação que antecede a Act. Dessa forma, eu sei que a afirmação que passa está realmente passando como resultado da ação.
Eu penso nisso como análogo ao vermelho em red-green-refactor, onde somente se eu tiver visto a barra vermelha no decorrer do meu teste, eu sei que a barra verde significa que escrevi um código que faz a diferença. Se eu escrever um teste de aprovação, qualquer código o satisfará; da mesma forma, com relação a Arrange-Assert-Act-Assert, se minha primeira afirmação falhar, eu sei que qualquer ato teria sido aprovado na Assert final - de modo que não estava realmente verificando nada sobre a lei.
Seus testes seguem esse padrão? Por que ou por que não?
Esclarecimento da atualização : a afirmação inicial é essencialmente o oposto da afirmação final. Não é uma afirmação de que Arrange funcionou; é uma afirmação de que Act ainda não funcionou.