【发布时间】:2014-07-08 14:20:27
【问题描述】:
我试图断言一个列表包含某个字符串。由于我需要对条件进行不区分大小写的评估,因此我使用了一种解决方法(类似于this blog post)。
但是,我想知道为什么似乎没有办法让 Assert.Contains 方法在不区分大小写的情况下执行比较。或者有没有办法做到这一点? (当我用谷歌搜索它时,我只在 nUnit 的官方页面上找到了 Assert.That 方法的约束。)
【问题讨论】:
-
你在使用 nUnit 吗?如果是这样,它包含一个您可以在此处使用的
StringAssert.AreEqualIgnoringCase方法。或者,您可以将比较中的两个字符串ToUpper()作为另一个创可贴。 -
@aevitas 嗯......这打破了 Assert.SomeSome 的外观......但如果这是推荐的方法,那就这样吧。至于我的深入问题:知道为什么没有带有额外参数的 Contains 来进行比较控制吗?
-
我不知道,这可能是有实际原因的,但也可能被忽略。如果你真的想坚持
Assert.Some的外观,你可以使用Assert.IsTrue(string.Equals(left, right, StringComparison.OrdinalIgnoreCase)); -
@aevitas 这就是我已经在做的事情了,呵呵。我只是担心有一个我不知道的原因会来咬我的坐姿。请把你的想法作为回复,如果没有其他人比你更出色,我可以接受这个答案。
-
@aevitas 达到 99%。其余的,我冒昧地添加了它。哇!现在,您对 SO 的信任度提高了 10 分。恭喜! :)