Assert.Fail () считается плохой практикой?

Я использую Assert.Fail много при выполнении TDD. Я обычно работаю над одним тестом за раз, но когда я получаю идеи для вещей, которые я хочу реализовать позже, я быстро пишу пустой тест, в котором имя метода теста указывает на то, что я хочу реализовать в виде своего рода списка задач. Чтобы убедиться, что я не забуду, я поместил Assert.Fail () в тело.

При тестировании xUnit.Net я обнаружил, что они не реализовали Assert.Fail. Конечно, вы всегда можете Assert.IsTrue (false), но это также не говорит о моем намерении. У меня сложилось впечатление, что Assert.Fail не был реализован специально. Это считается плохой практикой? Если так, то почему?

@Martin Meredith Это не совсем то, что я делаю. Сначала я пишу тест, а затем реализую код, чтобы он заработал. Обычно я думаю о нескольких тестах одновременно. Или я думаю о тесте, чтобы написать, когда я работаю над чем-то другим. Это когда я пишу пустой провальный тест для запоминания. К тому времени, когда я приступаю к написанию теста, я аккуратно начинаю тестирование.

@Jimmeh Это похоже на хорошую идею. Игнорируемые тесты не дают результатов, но все равно отображаются в отдельном списке. Должен попробовать это.

@Matt Howells Отличная идея. NotImplementedException сообщает намерение лучше, чем assert.Fail () в этом случае

@ Митч Пшеница Это то, что я искал. Кажется, это было исключено, чтобы предотвратить злоупотребление другим способом, которым я злоупотребляю.

Ответы на вопрос(13)

Ваш ответ на вопрос