我正在做一些C++測試驅動的開發。我有一套課程可以做同樣的事情,例如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?
是否有另一個單元測試框架,可以讓我做到這一點?
歡呼的答案。對於任何看這個googletest的人來說,都有點痛苦。我使用了這些組合來指導http://blog.knatten.org/2012/09/26/installing-and-using-googletest-with-visual-studio/和http://stackoverflow.com/questions/531941 /如何到設置 - 谷歌-C測試的框架,GTEST-ON-視覺工作室2005年。它不會在Visual Studio 2012中編譯,除非在項目屬性中將編譯器設置爲2010版本。 –