为什么单元测试失败,尽管它包含我正在测试的所有值

Why unit test is failing although it contains all the values I am testing

这是我使用 NSubstitute 在 xUnit 上遇到的失败错误:

Xunit.Sdk.ContainsException
Assert.Contains() Failure
Not found: Please send my Password.
Name: Blake Lively
Phone: 7021102502
I Lost my pass, Help
In value:  Blake Lively

这就是我的单元测试代码:

    var whatsInIt = msg.Notes;

    Assert.Contains(msg.Notes, "Blake Lively");
    Assert.Contains(msg.Notes, "7021102502");
    Assert.Contains(msg.Notes, "Help");

我写的 whatsInIt 是为了放置一个断点并在断言之前查看那里有什么,所以我看到的值是这样的:

Please send my Password.
Name: Blake Lively
Phone: 7021102502
I Lost my pass, Help

那么为什么它仍然失败?

你的参数反了。试试这个:

var whatsInIt = msg.Notes;

Assert.Contains("Blake Lively", msg.Notes);
Assert.Contains("7021102502", msg.Notes);
Assert.Contains("Help", msg.Notes);