Что касается классического тестового шаблона Arrange-Act-Assert, я часто обнаруживаю, что добавляю контр-утверждение, которое предшествует закону. Таким образом, я знаю, что передающее утверждение действительно проходит в результате действия.
Я думаю, что это похоже на красный в red-green-refactor, где только если я видел красную полосу в ходе моего тестирования, я знаю, что зеленый бар означает, что я написал код, который делает разница. Если я напишу тест прохождения, то любой код удовлетворит его; аналогично, в отношении Assange-Assert-Act-Assert, если мое первое утверждение не удастся, я знаю, что любой Закон передал бы окончательное Assert - так, чтобы он фактически не проверял ничего о Законе.
Выполняют ли ваши тесты эту схему? Почему или почему нет?
Обновление. Разъяснение: исходное утверждение, по сути, является противоположным окончательному утверждению. Это не утверждение, что Аранж работал; это утверждение, что Закон еще не сработал.