使用GoogleTest比较容器

Ste*_*ano 8 c++ googletest googlemock

我正在尝试进行一项比较两个向量的googletest测试.为此,我使用谷歌模拟与其匹配器,但我得到一个C3861错误说"找不到ContainerEq标识符"和C2512说"测试:: AssertionResult没有正确的默认构造函数可用".为什么?

TEST(MyTestSuite, MyTest)
{
    std::vector<int> test1;
    std::vector<int> test2;

    ...

    EXPECT_THAT(test1, ContainerEq(test2));
}
Run Code Online (Sandbox Code Playgroud)

Fra*_*ser 19

你只是缺少gtest的testing命名空间限定符:

EXPECT_THAT(test1, ::testing::ContainerEq(test2));
Run Code Online (Sandbox Code Playgroud)