我如何让 catch2 不打印它烦人的 header?
How do I make catch2 not print its annoying header?
我正在 运行使用 catch2 构建一些单元测试。它的输出开始于:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_suite is a Catch v2.13.6 host application.
Run with -? for options
好吧,我不想看到那个。我和其他 users/maintainers 都不需要提醒 catch2 版本或 运行 与 -?
的能力,当我们 运行 使用适当的参数进行单元测试并知道什么时我们在做。
但是 - -?
选项似乎没有告诉我如何禁用此消息。我可以吗?或者我必须手动“混蛋”catch2 header?
Catch2 是开源的
如果你去src/catch2/reporters/catch_reporter_console.cpp
,你会发现:
void ConsoleReporter::lazyPrintRunInfo() {
stream << '\n' << lineOfChars('~') << '\n';
Colour colour(Colour::SecondaryText);
stream << currentTestRunInfo->name
<< " is a Catch v" << libraryVersion() << " host application.\n"
<< "Run with -? for options\n\n";
只需删除最后一行。它应该不会破坏任何东西并解决您的问题。
或者,您可以编辑 src/catch2/interfaces/catch_interfaces_config.hpp
并添加配置选项,virtual bool printHeader();
并提交 PR。此配置仅用于打印表头后的行,因此可用。
我正在 运行使用 catch2 构建一些单元测试。它的输出开始于:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_suite is a Catch v2.13.6 host application.
Run with -? for options
好吧,我不想看到那个。我和其他 users/maintainers 都不需要提醒 catch2 版本或 运行 与 -?
的能力,当我们 运行 使用适当的参数进行单元测试并知道什么时我们在做。
但是 - -?
选项似乎没有告诉我如何禁用此消息。我可以吗?或者我必须手动“混蛋”catch2 header?
Catch2 是开源的
如果你去src/catch2/reporters/catch_reporter_console.cpp
,你会发现:
void ConsoleReporter::lazyPrintRunInfo() {
stream << '\n' << lineOfChars('~') << '\n';
Colour colour(Colour::SecondaryText);
stream << currentTestRunInfo->name
<< " is a Catch v" << libraryVersion() << " host application.\n"
<< "Run with -? for options\n\n";
只需删除最后一行。它应该不会破坏任何东西并解决您的问题。
或者,您可以编辑 src/catch2/interfaces/catch_interfaces_config.hpp
并添加配置选项,virtual bool printHeader();
并提交 PR。此配置仅用于打印表头后的行,因此可用。