aev*_*tas 16
有没有办法来指定IGNORECASE的Assert.Contains
.无论是被忽视还是有意的东西,我都不知道.但是,您可以使用
StringAssert.AreEqualIgnoringCase(left, right);
Run Code Online (Sandbox Code Playgroud)
在你的单元测试中达到相同的效果.
或者,如果你想坚持Assert.Foo()
"主题",你可以做这样的事情:
Assert.IsTrue(string.Equals(left, right, StringComparison.OrdinalIgnoreCase));
Run Code Online (Sandbox Code Playgroud)
或者,因为Contains
对待数组:
Assert.IsTrue(list.Any(element => element.ToUpper() == "VILTERSTEN"));
Run Code Online (Sandbox Code Playgroud)
你调用ToUpper()
左右字符串操作数的地方,这也有效地使比较忽略了大小写.OrdinalIgnoreCase
是为了确保文化的某些角落案例(阅读:土耳其语)不会导致意外结果.如果您有兴趣阅读,请查看土耳其测试.
pri*_*tor 11
nUnit确实提供了它,它读取:
Assert.That("red,green,blue".Split(','), Contains.Item("RED").IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
在NUnit 3中,可以使用以下语法:
Assert.That(new[] {"red", "green", "blue"}, Does.Contain("RED").IgnoreCase);
Run Code Online (Sandbox Code Playgroud)