Начал изучать CppUnit и не могу понять как сделать хорошо.
Условие: конструктор класса может кинуть исключение. Это и хочется оттестировать.
Создал 2 метода: wrongConstructor1/2, которые проверяют нижнию и верхнюю границу.
Но как-то это не хорошо: если появится второй аргумент (хотябы bool), то придётся добавлять ещё 2 метода.
class CTestGame: public CPPUNIT_NS::TestFixture
{
CPPUNIT_TEST_SUITE(CTestGame);
CPPUNIT_TEST_EXCEPTION(wrongConstructor1, std::exception);
CPPUNIT_TEST_EXCEPTION(wrongConstructor2, std::exception);
...
}
void CTestGame::wrongConstructor1()
{
CGame game(g_nMinBoardDim - 1);
}
void CTestGame::wrongConstructor2()
{
CGame game(g_nMaxBoardDim + 1);
}
Может кто знает, как написать что-то типа:
CPPUNIT_TEST_EXCEPTION(wrongConstructor(true), std::exception);
CPPUNIT_TEST_EXCEPTION(wrongConstructor(false), std::exception);
Или есть другой паттерн, который может параметризовать вызовы wrongConstructor() ?