我正在做一些 C++ 测试驱动开发。我有一组类做同样的事情,例如
相同的输入给出相同的输出(或者应该,这就是我要测试的)。我正在使用 Visual Studio 2012
CppUnitTest 框架。我想创建一个模板化的测试类,所以我编写了一次测试,并且可以根据需要在类中进行模板化,但是我找不到这样做的方法。我的目标:
/* 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 做到这一点?
是否有另一个单元测试框架可以让我这样做?