【发布时间】:2021-11-04 00:40:35
【问题描述】:
我有大量的测试用例。在失败的情况下,需要时间来遍历所有日志文件并找到失败的测试用例。 Catch2 中有没有办法打印失败的测试用例?
【问题讨论】:
-
@Eljay 目前没有命令行选项在报告器末尾显示唯一失败或成功的测试用例名称。
-
Catch2 几乎可以满足我的需求,但在某些时候,缺少简单的功能。也会尝试 Doctest :)
我有大量的测试用例。在失败的情况下,需要时间来遍历所有日志文件并找到失败的测试用例。 Catch2 中有没有办法打印失败的测试用例?
【问题讨论】:
您可以创建 EventListener 并覆盖 testCaseEnded 以捕获失败测试的名称,并使用 testRunEnded 将其打印出来。
struct EventListener : Catch::TestEventListenerBase
{
using TestEventListenerBase::TestEventListenerBase;
void testCaseEnded(Catch::TestCaseStats const& testCaseStats) final
{
if (testCaseStats.totals.assertions.failed > 0)
{
// store failed test
}
}
void testRunEnded(Catch::TestRunStats const&) final
{
// print summary
}
};
CATCH_REGISTER_LISTENER(EventListener)
【讨论】: