2013-03-03 928 views
1

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

说我有一个方法void printNames(),它打印所有学生在一个类中的名字。

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

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

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

回答

3

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

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