У меня есть два тестовых класса с именами " TT_Common " и " TT_Container ", которые расширяют CPPUNIT_NS :: TestFixture:
class TT_Common : public CPPUNIT_NS::TestFixture ......
class TT_Container : public CPPUNIT_NS::TestFixture ......
, и класс-инициатор с именем TT_Runner, которыйextends CPPUNIT_NS :: TestRunner:
class TT_Runner : public CPPUNIT_NS::TestRunner
{
.....
void run( CPPUNIT_NS::TestResult &controller, const std::string &testPath )
{
CPPUNIT_NS::TestPath path = m_suite->resolveTestPath( testPath );
CPPUNIT_NS::Test *testToRun = path.getChildTest();
for ( size_t iIdx = 0; iIdx < testToRun->getChildTestCount(); iIdx++ )
{
CPPUNIT_NS::Test* psTest = testToRun->getChildTestAt(iIdx);
std::string testName = psTest->getName();
// testName is TT_Common for iIdx = 0 and TT_Container for iIdx = 1
}
}
У меня уже есть имя TestFixture , но как его создать Instace ?Я не могу найти фабрику или реестр, который берет имя и возвращает экземпляр .