如何使用 google-test 检查向量中的内容?

How do I check the contents in a vector using google-test?

std::vector<uint8_t> vector1(10);
std::vector<uint8_t> vector2(10);

std::fill(vector1.begin(), vector1.end(), 2);
std::fill(vector2.begin(), vector2.end(), 2);

EXPECT_EQ(vector1, vector2);

上面的EXPECT_EQ()是否检查了vector1和vector2中的内容是否相等?如果没有,我该如何检查 vector1 和 vector2 中的内容是否使用 googletest EXPECT_* 函数相等?

googletest 的文档说明了如何测试 C 字符串和 C++ 字符串对象的内容,但没有说明如何检查 C++ 向量的内容。

EXPECT_EQ使用operator ==比较对象,operator == for std::vector(引用自cppreference):

Checks if the contents of lhs and rhs are equal, that is, they have the same number of elements and each element in lhs compares equal with the element in rhs at the same position.

所以答案是,它会比较向量的内容。