LINUX.ORG.RU

pochemu uzhas???

Vse rabotaet.

anonymous
()

> Я сейчас смотрю на CppUnit - это тихий ужас. Есть ли что-нибудь >менее корявое?

по мне так нормальное средство, вы просто не умеете его готовить.

fghj ★★★★★
()
Ответ на: комментарий от fghj

> по мне так нормальное средство

ИМХО, для того, что оно умеет - оно чересчур сложное. Ведет оно себя как-то неожиданно: при такой записи:

CPPUNIT_TEST_SUITE_REGISTRATION(MyTestFixture);

CPPUNIT_TEST_SUITE_REGISTRATION(MyTestFixture2);

тесты из MyTestFixture2 не выполняются, адаптера для использования существующих тестовых функций - нету... я чего-то не понимаю?

> вы просто не умеете его готовить.

Наверняка - я его только вчера первый раз увидел.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

возьмите пример идущий с cppunit и модифицируйте его под вас
и все заработает,
например:


class IniFileTest : public CPPUNIT_NS::TestFixture {
public:
	void setUp() { setlocale(LC_ALL, "C"); }

	CPPUNIT_TEST_SUITE(IniFileTest);
	CPPUNIT_TEST(DoubleReadTest);
	CPPUNIT_TEST(StringReadTest);
	CPPUNIT_TEST(BoolReadTest);
	CPPUNIT_TEST_SUITE_END();
private:
...
};

int cppunit_main(CPPUNIT_NS::Test *my_test)
{
//Create the event manager and test controller
        CPPUNIT_NS::TestResult controller;

        // Add a listener that colllects test result
        CPPUNIT_NS::TestResultCollector result;
        controller.addListener(&result);

        // Add a listener that print dots as test run.
        CPPUNIT_NS::BriefTestProgressListener progress;
        controller.addListener(&progress);

        // Add the top suite to the test runner
        CPPUNIT_NS::TestRunner runner;
        runner.addTest(my_test);
        runner.run(controller);

        // Print test in a compiler compatible format.
        CPPUNIT_NS::CompilerOutputter outputter(&result, CPPUNIT_NS::stdCOut());
        outputter.write();
        return result.wasSuccessful() ? EXIT_SUCCESS : EXIT_FAILURE;
}

int main()
{
	return cppunit_main(IniFileTest::suite());
}

fghj ★★★★★
()
Ответ на: комментарий от fghj

> возьмите пример идущий с cppunit и модифицируйте его под вас и все заработает,

Я сразу так и сделал, оно заработало. Но когда попробовал продвинуться чуть дальше, наткнулся на проблему с двумя CPPUNIT_TEST_SUITE_REGISTRATION:

CPPUNIT_TEST_SUITE_REGISTRATION(MyTestFixture);

CPPUNIT_TEST_SUITE_REGISTRATION(MyTestFixture2);

не запускает MyTestFixture2. Вообще глобальный неименованный реестр тестов умеет хранить больше одной test fixture или нет? Документация молчит :/

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

> глобальный неименованный реестр тестов умеет хранить больше одной test fixture или нет?

Умеет. It works for me.

watashiwa_daredeska ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.