Xunit.net: не удается найти Assert.Fail и Assert.Pass или эквивалент
Я использовал их в NUnit, и они действительно полезны. Любая идея, как сделать что-то подобное?
EDIT, CODE SAMPLE:
bool condition = false;//would be nice not to have this
observable.Subscribe(_ =>
{
if (real test)
condition= true;//Assert.Pass()
});
StartObservable();
Assert.True(condition);//Assert.Fail()
Ответы
Ответ 1
Документация включает в себя таблицу сравнения, включающую следующее:
Fail
- альтернатива xUnit.net: Assert.True(false, "message")
(Он не показывает Assert.Pass
, и я никогда не использовал это сам, но я подозреваю, что альтернатива - это просто вернуться из теста. Конечно, это не поможет, если вы хотите бросить его в вызове вложенного метода Мое подозрение в том, что он не очень часто используется в NUnit, следовательно, его отсутствие в сравнительной диаграмме.)
Ответ 2
Просто выделите исключение для удовлетворения обоих требований (выход из вложенного цикла и альтернатива отсутствующему методу Assert.Fail). Единственная проблема заключается в том, что для исключения предупреждений об использовании базового класса Exception не существует приемлемого базового исключения (например, TestException), поэтому, скорее всего, это хороший выбор, например, InvalidOperationException.