您可以使用 setUp 和 tearDown 函数执行测试用例设置和清理操作。在每个测试用例之前和之后分别调用 setUp 和 tearDown。

要为整个测试套件(在每个测试套件之前和之后调用)执行设置或清除操作,请定义自定义 setup/cleanup 函数,并使用以下宏进行注册:

 CPPTEST_TEST_SUITE_SETUP(setup_function_name)  
 CPPTEST_TEST_SUITE_TEARDOWN(cleanup_function_name)

应在测试套件声明部分中添加注册(在第一次测试用例注册之前)。示例:

class MyTestSuite : public CppTest_TestSuite 
{
  public:
	CPPTEST_TEST_SUITE(MyTestSuite);
	CPPTEST_TEST_SUITE_SETUP(myTestSuiteSetUp);
	CPPTEST_TEST_SUITE_TEARDOWN(myTestSuiteTearDown); 
	CPPTEST_TEST(test1);
	CPPTEST_TEST(test2);
	CPPTEST_TEST_SUITE_END();
 
	void setUp(); 
	void tearDown();
 
	static void myTestSuiteSetUp(); 
	static void myTestSuiteTearDown();
 
	void test1(); 
	void test2();
};
 
void MyTestSuite::myTestSuiteSetUp()
{
  // Test suite setup
}
 
void MyTestSuite::myTestSuiteTearDown()
{
  // Test suite cleanup
}

注意

  • 测试套件的 setup/cleanup 函数不带任何参数。
  • 建议为 C++ 测试套件 setup/cleanup 函数使用静态存储类说明符。
  • 不建议将构造函数/析构函数添加到测试套件中并向其附加 setup/teardown 代码,因为测试套件可能会被多次实例化,每次运行一个测试用例的子集——甚至可能针对测试套件的每个实例都运行一次。不应假设构造函数仅在任何测试套件的测试执行之前调用一次,或者析构函数仅在所有测试完成后对应调用一次。
  • No labels