C++ 使用 gtest 测试 void 方法

标签 c++ testing void googletest

我刚开始使用 gtest 在 C++ 中进行单元测试,我有一个关于 void 方法测试的问题。

假设我有一个方法 void printNames(),它打印类(class)中所有学生的姓名。

  1. 使用测试,有没有办法检查该方法是否打印正确的名称?

  2. 或者说,这种东西还需要测试吗?

  3. 我可以让该方法返回字符串,然后用连接类(class)所有学生姓名的字符串测试返回的字符串。这是一个“好的”解决方案吗?

最佳答案

我可能会编写 printNames 以将 ostream 作为参数,可能会提供 std::cout 作为默认值。

当您想要测试时,改为提供对 stringstream 的引用,这样您就可以捕获输出并与预期结果进行比较。

关于C++ 使用 gtest 测试 void 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182281/

相关文章:

c++ - 已经 "EOF"ed ifstream 上的 peek() 是否继续返回 EOF?

c++ - wxHTTP 和线程

javascript - 如何将 jest.config.js 与 create-react-app 一起使用

java - 什么是测试预言机,它有什么用?

c - 在函数内部使用指针时出错

Java 空方法返回

c++ - 将实例转换为无效?

c++ - 字符串输入错误

c++ - 如何在纹理映射过程后合并两个 .obj 文件?

testing - Fitnesse - 我们可以拆分一个依赖于很多值但没有中间结果的大表吗?