実行時にGoogleテストポイントに引数を渡す方法はありますか?を使用して静的引数を使用できることを知っています
TEST_P(fooTest,testPointName)
{
}
INSTANTIATE_TEST_CASE_P(InstantiationName,
FooTest,
::testing::Values("blah"));
しかし、私のユースケースでは、次のようなことをしたいと思います
main(){
//do Something
//create instance of ::testing::Values type
//pass arguments to multiple test points
//run_tests
}
ポインタをいただければ幸いです。
を使用してそれを達成できSetUpTestCase
ます。フィクスチャクラスで、目的の値を保持する静的変数を作成します。次に、静的関数SetUpTestCase
を実装TearDownTestCase
し、フィクスチャクラスに値を初期化してクリーンアップします。一般的な考え方は次のとおりです。
class MyFixture : public ::testing::Test {
protected:
static void SetUpTestCase() {
// Code that sets up m_values for testing
}
static void TearDownTestCase() {
// Code that cleans up m_values. This function can be ommited if
// there are no specific clean up tasks necessary.
}
static MyValues m_values;
};
次に、を使用してテストをフィクスチャの一部にしTEST_F
ます。これm_values
で、フィクスチャ内のすべてのテストが実行される前に一度初期化され、これらすべてのテストがそれにアクセスできるようになり、すべてのテストの実行が終了した後にクリーンアップが実行されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加