我正在使用 cppunit 对我的项目进行单元测试。
我想知道 cppunit 是否在新的 fork() 系统调用中启动每个单元测试,因为:
- 使用 fork 将允许创建一个新的地址空间来运行每个单元测试
- 使用 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();
};