【发布时间】:2014-10-27 00:17:04
【问题描述】:
假设我有一个简单的 HelloWorld 类,它带有一个 hi() 方法和以下单行代码:
void HelloWorld::hi(){
printf("Hi!\n");
}
现在假设我想用 CppUnit 测试该方法。
void HelloWorldTests::testHi() {
HelloWorld hw;
hw.hi(); // <------ ????
// <------ ?????
CPPUNIT_ASSERT(/*????*/);
}
如何捕获hi() 方法的输出,以便将其与 CppUnit 中的固定值进行比较?
【问题讨论】:
-
hi()没有输出。你想抓"Hi\n"吗? -
@herohuyongtao 是的,没错。我想抓住
Hi\n,这样我就可以比较它了。 -
@herohuyongtao 我宁愿避免更改项目中的所有方法。没有办法捕捉输出吗?
-
@alexandernst 在 c++ 中使用
printf并给自己带来麻烦时称 +12 回答垃圾是......勇敢的。这实际上是printf的正确答案。