微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

configurationgtest只在控制台中显示失败的testing

有没有select只显示失败的testing? 我不得不使用吉他来实现这一点,但我错过了命令行工具。

“活动configuration中存在错误,继续启动?”Eclipse Luna 4.4.1,C ++,GDB,Linux

在从它检索值之前,Windows如何执行完整性检查?

在Linux中使用Qtclosures()filedescriptor

爆炸不能创build一个单位计数容器

如何正确使用copyFileEx和copyProgressRoutine函数

我遇到了同样的问题 – 我确定很多其他人都有。 所以我创造了这个:

https://gist.github.com/elliotchance/8215283

应该是非常粘贴和播放。

有两种方法来实现这一点。

一个是写你自己的事件监听器:

http://code.google.com/p/googletest/wiki/V1_6_AdvancedGuide#Defining_Event_listners

另一种方法是过滤googletest事件侦听器收到的输入。

对于这个approache你删除当前的事件监听器,并与您自己交换

testing::TestEventlistners& listeners = testing::UnitTest::GetInstance()->listeners(); testing::TestEventlistner* listener = listeners.Release(listeners.default_result_printer()); listeners.Append(new FailurePrinter(listener));

其中FailurePrinter是您自己的事件侦听器类。

这个班应该是这样的

class FailurePrinter : public ::testing::TestEventlistner { public: FailurePrinter(TestEventlistner* listener) : TestEventlistner() {_listener = listener;} virtual void OnTestProgramStart(const UnitTest& unit_test); virtual void OnTestIterationStart(const UnitTest& unit_test,int iteration); virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test); virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test); virtual void OnTestCaseStart(const TestCase& test_case); virtual void OnTestStart(const TestInfo& test_info); virtual void OnTestPartResult(const TestPartResult& result); virtual void OnTestEnd(const TestInfo& test_info); virtual void OnTestCaseEnd(const TestCase& test_case); virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test); virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test); virtual void OnTestIterationEnd(const UnitTest& unit_test,int iteration); virtual void OnTestProgramEnd(const UnitTest& unit_test); protected: testing::TestEventlistner* _listener; };

现在你必须实现所有的方法

如果你喜欢googles事件监听器打印的东西,只需将调用委托给_listener。

或者你可以修改结果。 例如:

void FailurePrinter::OnTestPartResult(const TestPartResult& test_part_result) { if (test_part_result.Failed()) { _listener->OnTestPartResult(test_part_result); printf("n"); } }

将只打印Testfailures。

根据文档,您可以使用测试事件更改输出。 看这里(也有一个例子): https : //github.com/google/googletest/blob/master/googletest/docs/AdvancedGuide.md#extending-google-test-by-handling-test-events

我为谷歌测试 ( Google Test)编写了Google测试漂亮打印机 ( Test Test / Pretty打印机) ,为Google测试程序提供更干净,更具吸引力的控制台输出。 它包括一个--failures-only选项,应该做你想做的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐