c++ - GTest改变失败的输出

标签 c++ testing googletest googlemock

我使用我创建的结构作为参数值编写了一个参数化 Gtest。当测试失败时,它会写入结构的字节对象,如下所示:

[  FAILED  ] RulesNoProcessing/StressTest.MainTest/2, where GetParam() = 
             40-byte object <01-12 00-00 02-00 00-00 F4-01 00-00 ...>.

有什么方法可以自定义输出吗?我知道断言有谓词格式,但我需要对测试的实际结果做类似的事情。如果有人可以帮助我,我将非常感激!

最佳答案

例如,您必须覆盖“运算符 <<”

struct Row
{
  int window;
  int osmap;
  friend std::ostream& operator<<(std::ostream& os, const Row& bar) {
  return os << "w = " << bar.window << ", opsmap= " << bar.osmap;  // whatever needed to print
  }
};

查看此了解更多信息 https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#teaching-googletest-how-to-print-your-values

关于c++ - GTest改变失败的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48668841/

相关文章:

python - 我应该如何使用临时数据库测试 db 服务模块?

c++ - 如何在 GoogleTest 中使用 QTimers

c++ - 为 DLL 库配置 Google 测试项目

c++ - 编写一个函数,计算并返回两个目标数字之间可被 3 整除的整数总数

c++ - 将带有大小的私有(private)成员数组初始化为类初始化参数

c++ - 这个编译器错误是由无效代码触发的,还是应该编译?

c++ - basic_streambuf::setbuf 应该设置哪个缓冲区?

javascript - Jasmine 添加到 promise

ruby-on-rails - 如何建立一个失败的测试?测试通过但 Rails 服务器显示 : ‘uninitialized constant’

c++ - 我如何用两个不同的参数值调用我的模拟方法两次