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.