Модульное тестирование с помощью графической библиотеки Allegro - PullRequest
2 голосов
/ 26 января 2010

Я пытаюсь использовать ускоренное модульное тестирование вместе с графической библиотекой Allegro, но оба требуют main() изменения / перезаписи. У кого-нибудь был опыт использования обоих?

Редактировать 29.01.2010: я воздерживался от выбора ответа, пока не смогу подтвердить тот или другой, и из-за ... редкой природы ответов.

Ответы [ 3 ]

1 голос
/ 26 января 2010

boost.test может быть использован с или без main (). Изучение этих макросов даст вам представление о том, как правильно их использовать:

//#define BOOST_TEST_MODULE my_test
//#define BOOST_TEST_MAIN
//#define BOOST_TEST_DYN_LINK
//#define BOOST_TEST_NO_MAIN
0 голосов
/ 25 ноября 2011

У меня была похожая проблема с qt, вот код, который работал для меня на boost 1_44 с использованием общей библиотеки

//Testing the lib

//###################################################################################
//Setting up boost testing framework
#define BOOST_TEST_NO_MAIN
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE "Unit test for libcommon"

#include <boost/test/unit_test.hpp>
#include <boost/test/test_tools.hpp>
//###################################################################################

#include <QApplication>
#include <QtGui>

using namespace boost::unit_test;

int main(int argc, char *argv[]) {
  (void) argc;
  (void) argv;

  QApplication app(argc, argv);
  QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));

  ::boost::unit_test::unit_test_main( &init_unit_test, argc, argv );

  return app.exec();
}
0 голосов
/ 26 января 2010

Я не совсем понимаю проблему: вы выполняете функции наддува, которые хотите запустить внутри main, настройку allegro, затем запускаете тесты, выполняете разбор allegro, независимо от того, какое повышение вы хотите разрушить.

Если вы не хотите выполнить модульное тестирование функций настройки allegro, проблем не должно быть.

Можете ли вы уточнить или опубликовать конкретные проблемы?

...