Je fais du développement piloté par les tests C++. J'ai un ensemble de classes pour faire la même chose par ex.Test de test unitaire C++, à l'aide de la classe de test de modèle
même entrée donne la même sortie (ou devrait, c'est ce que j'essaie de tester). J'utilise Visual Studio 2012
CppUnitTestFramework. Je voulais créer une classe de test basée sur un modèle, donc j'écris les tests une fois, et je peux modéliser dans les classes comme nécessaire, mais je ne trouve pas de moyen de le faire. Mon but:
/* 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>
{
};
Y at-il un moyen que je peux faire cela en utilisant CppUnitTestFramework?
Existe-t-il un autre cadre de test unitaire qui me permettrait de le faire?
Bravo pour la réponse. Pour ceux qui regardent ce googletest est un peu difficile à faire. J'ai utilisé une combinaison de ces guides pour http://blog.knatten.org/2012/09/26/installing-and-using-googletest-with-visual-studio/ et http://stackoverflow.com/questions/531941/comment-configurer-google-c-testing-cadre-gtest-on-visual-studio-2005. Il ne compile pas dans Visual Studio 2012 à moins que vous définissiez le compilateur à version 2010 dans les propriétés du projet. –