c++ - 将容器与 GoogleTest 进行比较

标签 c++ googletest googlemock

我正在尝试进行比较两个 vector 的有效 googletest 测试。为此,我使用 google mock 及其 matchers但我得到一个 C3861 错误,说“找不到 ContainerEq 标识符”,还有 C2512 说“testing::AssertionResult 没有合适的默认构造函数可用”。为什么?

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

    ...

    EXPECT_THAT(test1, ContainerEq(test2));
}

最佳答案

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

EXPECT_THAT(test1, ::testing::ContainerEq(test2));

关于c++ - 将容器与 GoogleTest 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340470/

相关文章:

c++ - 如何在 Google Test 中为一个夹具运行多个测试用例?

主要gtest之前的c++段错误

c++ - 使用 Google Mocks 模拟免费函数

c++ - 如何使用 google mock 在 C++ 中模拟继承链

c++ - 对模板中的所有其他类型执行 static_assert

c++ - 多个线程访问同一个cuda流

c++ - 是否可以使用指向成员的指针来获取实际指针?

c++ - 来自 json 的 QJsonDocument

c++ - 如何从 Init 强制 gtest 将报告写入 xml

c++ - 谷歌模拟 : leaked mock object found at program exit?