1

我刚刚开始使用 gtest 在 C++ 中进行单元测试,并且我对 void 方法的测试有疑问。

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

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

  2. 或者,它甚至需要测试这样的事情吗?

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

4

1 回答 1

3

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

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

于 2013-03-03T03:56:15.953 回答