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

JOb*_*loh 4 regex nunit assert

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

"× •••\r\nAcme Health Fund\r\nBalance Date: 9/27/2017"
Run Code Online (Sandbox Code Playgroud)

我只想断言Acme Health Fund的文本存在.我目前的电话是这样的:

Assert.AreEqual("/.*Acme Health Fund.*/" , GetTableHeader() );
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*use 7

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

正则表达式对你想要的东西有点过分,你需要做的就是断言字符串Does.Contain的名称.

Assert.That(GetTableHeader(), Does.Contain("Acme Health Fund"));
Run Code Online (Sandbox Code Playgroud)

如果你真的需要使用正则表达式,首先你不需要在斜杠中包围它并使用Does.Match语法.

Assert.That(GetTableHeader(), Does.Match(".*Acme Health Fund.*"));
Run Code Online (Sandbox Code Playgroud)

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