如何减少 googletest 的冗长(覆盖默认侦听器的两个方法)?
How to reduce verbosity of googletest (overwrite two methods of the default listener)?
我想抑制来自 googletest 的过于冗长的“运行”和“OK”输出行,同时保留来自默认侦听器的所有其他输出。
https://github.com/google/googletest/blob/master/docs/advanced.md#defining-event-listeners 描述:
(1) 如何用自定义侦听器替换默认侦听器,或
(2) 如何添加额外的监听器。
不幸的是,这并不能完全解决我的问题。修改 (1) 也会抑制其他消息,除非我重新实现它们。修改(2)没有覆盖默认方法,只是增加了额外的输出。
对于想要的解决方案,我的监听器将从默认监听器继承,而不是从 EmptyTestEventListener
。
如何实现?
默认侦听器称为 PrettyUnitTestResultPrinter
。它在 src/gtest.cc
中实现。不幸的是,它没有在 .h
文件中 声明 。因此没有直接的方法继承它。
因此,解决我的问题的最简单方法是一个残酷的方法:将所有 googletest 复制到我项目中的 ThirdParty/gtest
目录,然后 patch src/gtest.cc
.只需搜索 "RUN" 和 "OK" 并删除不需要的输出命令。
我想抑制来自 googletest 的过于冗长的“运行”和“OK”输出行,同时保留来自默认侦听器的所有其他输出。
https://github.com/google/googletest/blob/master/docs/advanced.md#defining-event-listeners 描述:
(1) 如何用自定义侦听器替换默认侦听器,或
(2) 如何添加额外的监听器。
不幸的是,这并不能完全解决我的问题。修改 (1) 也会抑制其他消息,除非我重新实现它们。修改(2)没有覆盖默认方法,只是增加了额外的输出。
对于想要的解决方案,我的监听器将从默认监听器继承,而不是从 EmptyTestEventListener
。
如何实现?
默认侦听器称为 PrettyUnitTestResultPrinter
。它在 src/gtest.cc
中实现。不幸的是,它没有在 .h
文件中 声明 。因此没有直接的方法继承它。
因此,解决我的问题的最简单方法是一个残酷的方法:将所有 googletest 复制到我项目中的 ThirdParty/gtest
目录,然后 patch src/gtest.cc
.只需搜索 "RUN" 和 "OK" 并删除不需要的输出命令。