Google Test - 测试字符串不包含字符串

时间:2016-01-14 22:49:53

标签: regex googletest googlemock

使用Google Test,我需要一种方法来验证我的测试类返回的字符串是否包含特定字符串。我现在可以通过使用EXPECT_THAT和MatchesRegex来测试字符串是否包含另一个字符串;但是,我不知道如何为不包含单词构建有效的POSIX扩展正则表达式,我不知道如何否定MatchesRegex调用。

我试着在SO上找到一个正则表达式:

EXPECT_THAT(returnedString, MatchesRegex("^(?!.*badword).*$"));

但这给了我一个错误:

Regular expression "^(?!.*badword).*$" is not a valid POSIX Extended regular expression.

关于我如何做到这一点的任何其他建议?

1 个答案:

答案 0 :(得分:6)

您可以将匹配器pHasSubstr结合使用,以便您的代码如下所示:

Not

检查Google模拟documentation for matchers以获取完整参考。