我正在使用cppunit进行项目的单元测试。
我想知道cppunit是否在新的fork()系统调用中启动每个单元测试,因为:
我定义了一个全局变量,然后我尝试在单元测试中更改全局变量并更改在父进程中没有任何影响,但不幸的是我发现全局变量已更改。
因此,默认情况下,cppunit不支持使用fork()
启动单元测试。我想知道cppunit中是否有可以用fork()
启动单元测试的宏?
我的测试按以下方式定义:
class MYTest : public CppUnit::TestCase {
CPPUNIT_TEST_SUITE( MYTest );
CPPUNIT_TEST( getRetryValueTest );
CPPUNIT_TEST( getRetryValueTest2 );
CPPUNIT_TEST_SUITE_END();
public:
virtual void setUp();
void getRetryValueTest();
void getRetryValueTest2();
};
答案 0 :(得分:3)
Cppunit不使用fork来分隔测试。但是,同一套件中的测试是单独的对象,因此每个测试都有自己的一组变量,因此彼此独立,不能相互影响。