Я использовал эти в NUnit и они действительно полезны. Любой идеи, как сделать нечто подобное?
РЕДАКТИРОВАТЬ, ПРИМЕР КОДА:
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()
Документация включает в себя сравнительная таблица в том числе это:
не
- xUnit.net альтернатива:утверждать.Истинные(ложные, то "сообщения и")
(Это вовсе'т шоу утверждают.Пропуск, и я'ве никогда не использовал это сам, но я подозреваю, что альтернативой является только вернуть из теста. Конечно, это не'т помочь, если вы хотите, чтобы бросить его во вложенный вызов метода. Мой подозрение, что это's не очень часто используется в Нанит, следовательно, его отсутствие в сравнительную таблицу.)
Альтернативой утверждать.Не (на"сообщение" и) предложения в xUnit документы
xUnit.net альтернатива: утверждать.Истинные(ложные, то "сообщения и")
есть и обратная сторона &амп; ndash; его выход
message
Expected: True
Actual: False
Чтобы избавиться от
ожидается: правда фактический: ложные
Дон'т позвонить утверждать.Истинные(ложные, то "сообщения и")кидают
в xUnit.СДК.XunitException вместо этого.
Например, можно создать вспомогательный метод, похожий на этот:
public static class MyAssert
{
public static void Fail(string message)
=> throw new Xunit.Sdk.XunitException(message);
}
Просто бросить исключение, чтобы удовлетворить оба требования (выход из вложенного цикла и альтернативы отсутствуют утверждать.Не способ). Единственная проблема-нет исключений приличная база (например, исключение testexception), чтобы использовать для того, чтобы избежать получения предупреждения об использовании базового класса исключений, поэтому что-то более направленное, как исключение InvalidOperationException, вероятно, хороший выбор.