XUnit Equivelant of MSTest Assert.Inconclusive

Что такое эквивалент xUnit следующего кода MSTest:

Assert.Inconclusive("Reason");

Это дает желтый результат теста вместо обычного зеленого или красного цвета. Я хочу утверждать, что тест не может быть запущен из-за определенных условий и что тест должен быть повторно запущен после выполнения этих условий.

Ответы

Ответ 1

Один из способов - использовать параметр Skip в атрибутах Fact или Theory.

[Fact(Skip = "It not ready yet")]
public void ReplaceTokensUnfinished()
{
    var original = "";
    var expected = "";
    var tokenReplacer = new TokenReplacer();
    var result = tokenReplacer.ReplaceTokens(original, _tokens); // (_tokens is initialised in a constructor)
    Assert.Equal(result, expected);
}

Что дает этот результат при запуске:

введите описание изображения здесь

Ответ 2

Самое лучшее, что можно сделать до тех пор, пока в библиотеке не будет реализовано что-то, чтобы использовать Xunit.SkippableFact

[SkippableFact]
public void SomeTest()
{
    var canRunTest = CheckSomething();
    Skip.IfNot(canRunTest);

    // Normal test code
}

Это, по крайней мере, сделает его отображаемым как желтый проигнорированный тестовый пример в списке.

Кредит отправляется fooobar.com/info/284023/...