gpt4 book ai didi

c# - nUnit 下的 Contains 中不区分大小写的比较

转载 作者:可可西里 更新时间:2023-11-01 08:15:29 25 4
gpt4 key购买 nike

我试图断言列表包含特定字符串。由于我需要不区分大小写地评估条件,因此我使用了一个解决方法(沿着 this blog post 的东西)。

但是,我想知道为什么似乎没有办法让 Assert.Contains 方法执行不区分大小写的比较。或者有没有办法做到这一点? (当我用谷歌搜索时,我只在 nUnit 的官方页面上找到了 Assert.That 方法的约束。)

最佳答案

无法在 Assert.Contains 中指定 ignoreCase。我不知道这是被忽视还是有意为之。但是,您可以使用

StringAssert.AreEqualIgnoringCase(left, right);

在您的单元测试中实现相同的结果。

或者,如果您希望坚持使用 Assert.Foo()“主题”,您可以这样做:

Assert.IsTrue(string.Equals(left, right, StringComparison.OrdinalIgnoreCase));

或者,因为 Contains 处理数组:

Assert.IsTrue(list.Any(element => element.ToUpper() == "VILTERSTEN"));

在左右字符串操作数上调用 ToUpper() 的位置,这有效地使比较也忽略了大小写。 OrdinalIgnoreCase 是为了确保文化的某些极端情况(阅读:土耳其语)不会导致意外结果。如果您有兴趣继续阅读,请查看 the Turkey test .

关于c# - nUnit 下的 Contains 中不区分大小写的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24634245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com