我正在尝试对表头中的某些细节进行一般Assert.AreEqual
调用,但是我正在努力弄清楚如何成功格式化预期结果。 GetTableHeader
调用的返回值如下:
"× •••\r\nAcme Health Fund\r\nBalance Date: 9/27/2017"
我只想断言Acme Health Fund的文本存在。我目前的电话是:
Assert.AreEqual("/.*Acme Health Fund.*/" , GetTableHeader() );
如何将AreEqual
调用中的第一个参数格式化为仅"Acme Health Fund"
?
答案 0 :(得分:7)
NUnit 3有一个更强大的约束语法,我建议你改用它。新功能将添加到约束语法中,而不是旧的Assert.AreEqual
样式。
正则表达式对你想要的东西来说太过分了,你需要做的就是断言字符串Does.Contain
的名字。
Assert.That(GetTableHeader(), Does.Contain("Acme Health Fund"));
如果你真的需要使用正则表达式,首先你不需要用斜杠包围它,而是使用Does.Match
语法。
Assert.That(GetTableHeader(), Does.Match(".*Acme Health Fund.*"));
请注意正则表达式中的修复。