我正在使用xUnit理论将相关输入分组到同一测试中,例如:

[Theory]
[InlineData("fg00123 kj 56", "123")]
[InlineData("123", "123")]
public void NormalizeString(string input, string expectedOutput) {
    Assert.Equal(expectedOutput, MethodToTest(input));
}


但是,如果第一次失败,我只能看到ExpectedOutput和实际输出。我意识到我可以将ExpectedOutput更改为唯一的内容,但是测试多个都提供相同输出的输入并非没有道理。有没有办法在Visual Studio Testrunner中显示什么输入导致测试失败?

最佳答案

您可以使用具有用户消息参数的Assert.True:

var actualOutput = MethodToTest(input);Assert.True(expectedOutput==actualOutput, string.Format("for input {0} expected {1} but got {2}", input, expectedOutput, actualOutput));

关于c# - Visual Studio Runner中的xUnit错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30459775/

10-10 20:43