this piece of codeによれば、テストスイートを作成しているときに特定のテストのパラメータとして渡すことができるはずです。
はたぶん目標は、あなたができるようにすることでした:
#define CPPUNIT_TEST_WITH_PARAM(testMethod,param) \
CPPUNIT_TEST_ADD(new CppUnit::ParameterizedTestCase<ThisTestFixtureType>(\
context.getTestNameFor(#testMethod), \
#testMethod, \
&TestFixtureType::testMethod, \
context.makeFixture(), \
context.getStringProperty(param)))
CPPUNIT_TEST_SUITE(MyTestSuite);
CPPUNIT_TEST_SUITE_PROPERTY("param1", "foo")
CPPUNIT_TEST_SUITE_PROPERTY("param2", "bar")
CPPUNIT_CPPUNIT_TEST_WITH_PARAM(func, "param1")
CPPUNIT_CPPUNIT_TEST_WITH_PARAM(func, "param2")
CPPUNIT_TEST_SUITE_END();
void func(const std::string& param);
そして、これはfunc("foo")
とfunc("bar")
を呼び出して終了しているだろう。それは、文字列のパラメータ化されたテストを追加することが可能になったため、いいでしょう。
しかし
、およびParameterizedTestCase
は1.12.1古いリリースの一部ではなく、またそれがrecent releases以上の一部であるとして、これは、単なる推測の試みである(そうCPPUNIT_TEST_ADD
マクロはありません)、私は、これは明らかにした何かであると考えていますリリース計画では中止され、マクロCPPUNIT_TEST_SUITE_PROPERTY
はここでは役に立たない。 getStringProperty
も残っていて、正しく使用できるとは思えませんでした。
結論として、これは壊れたもののように見えますが、セットアップ/ティアダウンコードを共有するのではなく、パラメータテスト(これは実際にはテンプレートで行うことができます。this postを参照してください)。