-7

我正在运行一些用 catch2 构建的单元测试。它的输出开始于:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_suite is a Catch v2.13.6 host application.
Run with -? for options

好吧,我不想看到那个。-?当我们使用适当的参数运行单元测试并知道我们在做什么时,我和其他用户/维护者都不需要被提醒 catch2 版本或运行的能力。

但是 --?选项似乎没有告诉我如何禁用此消息。我可以吗?还是我必须手动“混蛋”catch2 标头?

4

1 回答 1

1

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。此配置仅在打印标题后的行中使用,因此可用。

于 2021-08-04T22:03:11.190 回答