如何在断言中使用正则表达式通配符?

How can I use regex wildcard in assertion?

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

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

我只想声明 Acme Health Fund 文本存在。我现在的电话是这样的:

Assert.AreEqual("/.*Acme Health Fund.*/" , GetTableHeader() );

如何将 AreEqual 调用中的第一个参数格式化为仅期望 "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.*"));

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