我正在尝试对表头中的一些细节进行一般的 Assert.AreEqual 调用,但是我正在努力弄清楚如何成功格式化预期结果。 GetTableHeader 调用的返回值如下:

"× •••\r\nAcme Health Fund\r\nBalance Date: 9/27/2017"

我只想断言 Acme Health Fund 文本存在。我目前的电话是这样的:
Assert.AreEqual("/.*Acme Health Fund.*/" , GetTableHeader() );

如何将 AreEqual 调用中的第一个参数格式化为 ONLY expect "Acme Health Fund"

最佳答案

NUnit 3 具有更强大的约束语法,我建议您改用它。新功能添加到约束语法,而不是旧的 Assert.AreEqual 样式。

正则表达式对于您想要的东西来说太过分了,您需要做的就是断言字符串 Does.Contain 是名称。

Assert.That(GetTableHeader(), Does.Contain("Acme Health Fund"));

如果你真的需要使用正则表达式,首先你不需要用斜杠把它括起来,你可以使用 Does.Match 语法。
Assert.That(GetTableHeader(), Does.Match(".*Acme Health Fund.*"));

请注意正则表达式中的修复。

关于regex - 如何在断言中使用正则表达式通配符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46450761/

10-16 22:49