如何减少googletest的冗长(覆盖默认监听器的两种方法)?

时间:2016-04-25 17:34:09

标签: c++ unit-testing googletest

我想压制过于冗长的" RUN"和"好的"来自googletest的输出行,同时保留默认侦听器的所有其他输出。

https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#defining-event-listeners描述:

(1)如何通过自定义侦听器替换默认侦听器,或

(2)如何添加额外的监听器。

不幸的是,这并不能完全解决我的问题。修改(1)也会抑制其他消息,除非我重新实现它们。修改(2)不会覆盖默认方法,但只会添加额外的输出。

对于有用的解决方案,我的侦听器将继承自默认侦听器,而不是 <service android:name=".ServicosBackground.UploadImagesBackground" android:stopWithTask="false" android:enabled="true" android:exported="true"></service>

如何实现?

1 个答案:

答案 0 :(得分:1)

默认侦听器名为PrettyUnitTestResultPrinter。它在src/gtest.cc中实施。不幸的是,.h文件中没有声明。因此,没有直接的方法可以继承它。

因此,对我的问题最简单的解决方案是一个残酷的解决方案:将所有googletest复制到我项目中的ThirdParty/gtest目录,然后修补程序 src/gtest.cc。只需搜索“RUN”和“OK”并删除不需要的输出命令。