Per quanto riguarda il classico modello di prova di Arrange-Act-Assert , mi trovo spesso ad aggiungere una controasserzione che precede Act. In questo modo so che l'affermazione passeggera è davvero passiva come risultato dell'azione.
Lo considero analogo al red in red-green-refactor, dove solo se ho visto la barra rossa nel corso dei miei test so che la barra verde significa che ho scritto un codice che fa la differenza. Se scrivo un test di superamento, qualsiasi codice lo soddisferà; allo stesso modo, per quanto riguarda Arrange-Assert-Act-Assert, se la mia prima asserzione fallisce, so che qualsiasi atto avrebbe superato l'asserzione finale, quindi non stava effettivamente verificando nulla sull'Atto.
I tuoi test seguono questo schema? Perché o perché no?
Chiarimento sull'aggiornamento : l'asserzione iniziale è essenzialmente l'opposto dell'asserzione finale. Non è un'affermazione che Arrange abbia funzionato; è un'affermazione che Act non ha ancora funzionato.