0

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

4

0 回答 0