Следуя методологии TDD, мы пишем только новые тесты для функциональности, которая не существует.Если тест проходит при первом запуске, важно понять, почему.
Одна из моих любимых вещей в TDD - его тонкая способность бросать вызов нашим предположениям и сбивать с толку наше эго.Практика «Вызовы» - это не только отличный способ прохождения тестов, но и большое удовольствие.Мне нравится, когда тест проваливается, когда я ожидаю, что он пройдёт - из этого открывается множество отличных возможностей для обучения;Раз за разом доказательство работоспособности программного обеспечения превосходит эго разработчика.
Когда тест проходит, когда я думаю, что он не должен, следующий шаг должен заставить его провалиться .
Например, ваш тест, который ожидает, что что-то не произойдет , гарантированно пройдет, если реализация закомментирована.Измените логику, которую, по вашему мнению, вы реализуете, закомментировав ее или изменив условия реализации, и убедитесь, что вы получите те же результаты.
Если после этого вы уверены, что функциональностьправильно, напишите другой тест, который доказывает обратное.Будет ли обновление вызываться с другим состоянием или входами?
С обоими наборами вы сможете закомментировать эту функцию и заранее знать, на какой тест будет оказано влияние.(8 шаров, угловой карман)
Я бы также предложил добавить еще одно утверждение в вышеупомянутый тест, чтобы убедиться, что испытуемый объект и функциональность действительно вызываются.