我刚开始使用 gtest 在 C++ 中进行单元测试,我有一个关于 void 方法测试的问题。
假设我有一个方法 void printNames(),它打印类(class)中所有学生的姓名。
使用测试,有没有办法检查该方法是否打印正确的名称?
或者说,这种东西还需要测试吗?
我可以让该方法返回字符串,然后用连接类(class)所有学生姓名的字符串测试返回的字符串。这是一个“好的”解决方案吗?
最佳答案
我可能会编写 printNames
以将 ostream 作为参数,可能会提供 std::cout
作为默认值。
当您想要测试时,改为提供对 stringstream
的引用,这样您就可以捕获输出并与预期结果进行比较。
关于C++ 使用 gtest 测试 void 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182281/