Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Catch2替代截面行为_C++_Catch2 - Fatal编程技术网

C++ Catch2替代截面行为

C++ Catch2替代截面行为,c++,catch2,C++,Catch2,我正在使用Catch2,并且我正在尝试构建一个测试用例,该测试用例在小节之前进行复杂的设置,在清单中通过初始化MyObject实例来表示 我喜欢分段的想法,因为它们将测试分开,但我想避免在每个分段之前初始化MyObject,这可能吗 TEST_CASE("Example"){ MyObject obj{param1, param2}; /* This takes time! */ SECTION("Check 1"){ REQUIRE(obj.foo() == 42); }

我正在使用Catch2,并且我正在尝试构建一个测试用例,该测试用例在小节之前进行复杂的设置,在清单中通过初始化MyObject实例来表示

我喜欢分段的想法,因为它们将测试分开,但我想避免在每个分段之前初始化MyObject,这可能吗

TEST_CASE("Example"){

  MyObject obj{param1, param2}; /* This takes time! */

 SECTION("Check 1"){
    REQUIRE(obj.foo() == 42);
  }  

  SECTION("Check 2"){
     REQUIRE(obj.bar() == 58);
  }

}

你不能把obj设置为全局的吗?这是一个选项,但我不想使用全局的。我希望catch有一个不同的部分风格来考虑这个问题。