私はいくつかの C++ テスト駆動開発を行っています。私は同じことをする一連のクラスを持っています。
同じ入力から同じ出力が得られます (または、そうすべきです)。Visual Studio 2012 を使用しています
CppUnitTestFramework. テンプレート化されたテスト クラスを作成したかったので、一度テストを記述し、必要に応じてクラスでテンプレート化できますが、これを行う方法が見つかりません。私の目的:
/* two classes that do the same thing */
class Class1
{
int method()
{
return 1;
}
};
class Class2
{
int method()
{
return 1;
}
};
/* one set of tests for all classes */
template< class T>
TEST_CLASS(BaseTestClass)
{
TEST_METHOD(testMethod)
{
T obj;
Assert::AreEqual( 1, obj.method());
}
};
/* only have to write small amout to test new class */
class TestClass1 : BaseTestClass<Class1>
{
};
class TestClass2 : BaseTestClass<Class1>
{
};
CppUnitTestFramework を使用してこれを行う方法はありますか?
これを可能にする別の単体テスト フレームワークはありますか?