我正在使用catch2(最新版本-截至目前为2.13.6),在我的测试用例中,我有一堆类似于以下内容的检查:
CHECK(!strcmp(my_str, "some literal string here"));
每个测试用例的文字都不同,显然my_str
's 的内容也是如此。
当这样的检查失败时,我得到的输出如下:
/path/to/test_source_file.cpp:123: FAILED:
CHECK( !strcmp(my_str, "some literal string here") )
with expansion:
false
但我没有my_str
打印出来。让上面的内容也打印(部分)内容的最佳方法是my_str
什么?
笔记:
- 您可能不会假设
my_str
它是空终止的。 - 代码必须相对简洁。
- 我宁愿不将任何东西转换为
std::string
,但如果你必须这样做,我不排除它。