我正在使用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,但找不到任何相关内容。