setUp 関数と tearDown 関数を使用して、テストのセットアップとクリーンアップを実行できます。setUp 関数と tearDown 関数は、それぞれ各テストの前と後に呼び出されます。

テスト スイート全体に対して (各テスト スイートの前後に呼び出される) セットアップまたはクリーンアップを実行するには、カスタムのセットアップ/クリーンアップ関数を定義し、次のマクロを使って登録します。

 

 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
}

注意

  • テスト スイートのセットアップ/クリーンアップ関数はパラメーターを取りません。  
  • C++ テスト スイートのセットアップ/クリーンアップ関数に対して静的ストレージ クラスの指定子を使用することを推奨します。  
  • コンストラクター/デストラクターをテスト スイートに追加して setup/teardown のコードを加えることは推奨しません。なぜなら、テスト スイートは何度もインスタンス生成されることもあり、その場合、テスト ケースのサブセットが毎回実行されます。テスト スイートのインスタンスのたびに 1 つ呼び出されることさえあります。そのため、「テスト スイート中のテストが実行される前に一度だけコンストラクターが呼び出される」あるいは「すべてのテストが完了した後に対応してデストラクターが呼び出される」という推測は正しくありません。  
  • No labels