我有问题,我在思考;如果有任何宏,C ++ BOOST库中的功能,它将在 ALL 测试用例之后运行一次函数。
我想运行一个将创建一个json文件的函数没有。执行的测试,没有。通过测试,没有。所有测试。所以我有这个问题,因为我必须使用以特定方式构建的文件:
F1()
F2()
F3()
BOOST_AUTO_TEST_CASE(F1){}
BOOST_AUTO_TEST_CASE(F2){}
BOOST_AUTO_TEST_CASE(F3){}
所以我不能创建main()函数,它会为我做这个,因为我得到一个错误,在/boost/test/unit_test.hpp中有一个先前的声明。
提前谢谢你。问候。
答案 0 :(得分:2)
至少有两种方法可以解决这个问题。
第一种方法是使用fixture,或者更具体地说是global fixture。
#define BOOST_TEST_MODULE example
#include <boost/test/included/unit_test.hpp>
struct Fixture {
Fixture() { /* Run on startup */ }
~Fixture() { /* Run on tear down */ }
};
BOOST_GLOBAL_FIXTURE(Fixture);
BOOST_AUTO_TEST_CASE(test_case)
// ... and so on
另一个选项是使用库中为overriding the entry point提供的功能,以便您可以在尝试时使用自己的main()
。
答案 1 :(得分:0)