Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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++ 促进如何在另一个测试单元中运行一个测试单元?_C++_Unit Testing_Boost - Fatal编程技术网

C++ 促进如何在另一个测试单元中运行一个测试单元?

C++ 促进如何在另一个测试单元中运行一个测试单元?,c++,unit-testing,boost,C++,Unit Testing,Boost,我需要在当前单元的开头运行一个测试单元。 如果参数没有结果,我尝试了BOOST\u TEST\u INVOKE\u。您可以: Decorator将修饰后的测试用例(称为TB)与由name指定的另一个测试用例(称为TA)相关联。这会以两种方式影响测试树的处理。首先,测试用例TA被命令在TB之前运行,而与它们被声明或添加到测试树的顺序无关。其次,如果TA被禁用或跳过,或者被执行并标记为失败,则TB的执行将被跳过 我想知道这个要求是从哪里来的。通常最好使测试相互独立。您能否提供一些关于上下文的详细信息

我需要在当前单元的开头运行一个测试单元。 如果参数没有结果,我尝试了BOOST\u TEST\u INVOKE\u。

您可以:

Decorator将修饰后的测试用例(称为TB)与由name指定的另一个测试用例(称为TA)相关联。这会以两种方式影响测试树的处理。首先,测试用例TA被命令在TB之前运行,而与它们被声明或添加到测试树的顺序无关。其次,如果TA被禁用或跳过,或者被执行并标记为失败,则TB的执行将被跳过


我想知道这个要求是从哪里来的。通常最好使测试相互独立。您能否提供一些关于上下文的详细信息以及为什么有必要这样做?您的boost版本是什么?
#define BOOST_TEST_MODULE decorator_07
#include <boost/test/included/unit_test.hpp>

namespace utf = boost::unit_test;

// test1 and test2 defined at the bottom

BOOST_AUTO_TEST_CASE(test3, * utf::depends_on("s1/test1"))
{
  BOOST_TEST(false);
}

BOOST_AUTO_TEST_CASE(test4, * utf::depends_on("test3"))
{
  BOOST_TEST(false);
}

BOOST_AUTO_TEST_CASE(test5, * utf::depends_on("s1/test2"))
{
  BOOST_TEST(false);
}

BOOST_AUTO_TEST_SUITE(s1)

  BOOST_AUTO_TEST_CASE(test1)
  {
    BOOST_TEST(true);
  }

  BOOST_AUTO_TEST_CASE(test2, * utf::disabled())
  {
    BOOST_TEST(false);
  }

BOOST_AUTO_TEST_SUITE_END()