- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用谷歌测试函数 EXPECT_EQ 来运行函数的测试用例。函数“find”返回一个列表并接受要查找的名称的字符串。这是我的测试函数:
TEST_F(test_neighborhood, find) {
list<Man> test;
test.push_back(Man("username", "John", "Smith", 1, 1, ""));
EXPECT_EQ(neighborhood.find("John"), test);
}
但是当我尝试“制作”时,它给了我一个很长的错误/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:665:71: 错误:无效 二进制表达式的操作数('const Man' 和 'const Man') bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}
我没有正确使用 EXPECT_EQ 吗?如何修复此错误?
最佳答案
EXPECT_EQ
要求为传递的项定义相等运算符。 std::list
已经有这样一个运算符,为每个存储项调用相等运算符。因此,您似乎需要定义 operator ==
来比较 Man
类的两个实例是否相等:
bool operator ==(Man const & left, Man const & right)
关于c++ - EXPECT_EQ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289684/
我正在使用谷歌测试功能 EXPECT_EQ运行函数的测试用例。功能,find返回 list并接受要查找的名称字符串。这是我的测试函数: TEST_F(test_neighborhood, find)
我正在使用谷歌测试函数 EXPECT_EQ 来运行函数的测试用例。函数“find”返回一个列表并接受要查找的名称的字符串。这是我的测试函数: TEST_F(test_neighborhood, fin
我正在学习数据结构,所以我通过模板制作了一个 Stack 类并使用 gtest 对其进行了测试。 虽然在使用 EXPECT_EQ 宏的 2 种方式中它显示不同的测试结果。 这样,最后一行仅在我使用“R
我想测试一个返回一些用户定义类型值的函数。我知道我可以使用 EXPECT_EQ、EXPECT_FLOAT_EQ 等测试基本的 int、float、double 等,但不能测试用户定义的类型。有什么线索
我正在使用 gtest,但我是 gtest 的新手。我想对复杂数据结构的两个 std::vector 中的值进行比较。我想做这样的事情: ASSERT_EQ(a.size(), b.size());
#include template size_t getSize(T (&arr)[N]){ return N; } template struct ArrayParam { static c
我有一个 boost 递归变体,如下所示。当我使用断言比较两个递归变体对象时,它工作正常但使用 EXPECT_EQ 时,它给出编译错误。 typedef boost::make_recursive_v
假设我有这个测试用例: TEST_F(TestCase1, HappyCase){ foo->doSomething(arg1, new inlineCallback([=](bool suc
在我的测试中,我针对某些字符(如“a”、“b”等)在字符上设置了 EXPECT_EQ()...到目前为止一切顺利。 现在我应该针对不可打印的 ASCII 字符 (0xFE) 进行测试。我的角色被定义为
我无法理解为什么在对双数或 float 求和的情况下测试用例会失败。它适用于整数数据类型。 //simple_method.h中的方法 double sum ( double a, double b)
我无法编译以下代码的最后一行: typedef boost::variant, std::vector> Container; std::vector v1; v1.push_back("sd");
我是一名优秀的程序员,十分优秀!