我正在使用Catch C++ 测试框架。我有一个单独的测试代码文件,我有
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
#include "my_own_headers.h"
TEST_CASE( "test of thisnthat", "[thisnthat]" )
{
SomeStuff a(42);
...
是否有一些 Catch 在构建时定义的符号,我可以使用它来更改我的代码定义?
一个例子:假设我有一些结构需要有一些特殊的构造函数,但仅用于测试目的,用于某些特定的测试用例。我希望在构建测试代码时能够使用此构造函数,但常规构建不应启用此功能。
// someheader.h
struct SomeStuff
{
int someValue;
#if BUILD_IS_TEST_MODE
SomeStuff( int a ), someValue(a) {}
#endif
};
我可以使用什么符号?
我查看了https://github.com/philsquared/Catch/blob/master/docs/configuration.md但找不到任何相关内容。