Я использую Assert.Fail много при выполнении TDD. Обычно я работаю над одним тестом за раз, но когда я получаю идеи для вещей, которые я хочу реализовать позже, я быстро пишу пустой тест, где имя метода теста указывает, что я хочу реализовать в виде своего списка задач. Чтобы не забыть, я поместил Assert.Fail () в тело.
При тестировании xUnit.Net я обнаружил, что они не реализовали Assert.Fail. Конечно, вы всегда можете Assert.IsTrue (false), но это также не говорит о моих намерениях. У меня сложилось впечатление, что Assert.Fail не был реализован специально. Это считается плохой практикой? Если так, то почему?
@ Мартин Мередит
Это не совсем то, что я делаю. Сначала я пишу тест, а затем реализую код, чтобы он заработал. Обычно я думаю о нескольких тестах одновременно. Или я думаю о тесте, чтобы написать, когда я работаю над чем-то другим. Вот тогда я и напишу пустой провальный тест, чтобы запомнить. К тому времени, когда я приступаю к написанию теста, я аккуратно начинаю тестирование.
@ Jimmeh
Это похоже на хорошую идею. Проигнорированные тесты не терпят неудачу, но они все еще отображаются в отдельном списке. Должен попробовать это.
@ Мэтт Хауэллс
Отличная идея. NotImplementedException сообщает о намерении лучше, чем assert.Fail () в этом случае
@ Митч Пшеничный
Это то, что я искал. Похоже, это было исключено, чтобы предотвратить злоупотребление другим способом, которым я злоупотребляю.