C++ 使用Allegro图形库增强单元测试
我试图在Allegro图形库旁边使用boost单元测试,但两者都需要C++ 使用Allegro图形库增强单元测试,c++,unit-testing,boost,allegro,C++,Unit Testing,Boost,Allegro,我试图在Allegro图形库旁边使用boost单元测试,但两者都需要main()更改/覆盖。有人有使用这两种方法的经验吗 编辑2010年1月29日:在我能够验证一个或另一个答案之前,我没有选择答案,因为。。。答案的稀疏性 我不太明白问题所在,你可以在main、allegro设置中运行你想运行的boost函数,然后运行你的测试、allegro拆卸,不管你想拆卸什么样的boost 除非您想对allegro设置功能进行单元测试,否则不会出现问题 您可以澄清或发布特定问题吗?boost.test可以与m
main()
更改/覆盖。有人有使用这两种方法的经验吗
编辑2010年1月29日:在我能够验证一个或另一个答案之前,我没有选择答案,因为。。。答案的稀疏性 我不太明白问题所在,你可以在main、allegro设置中运行你想运行的boost函数,然后运行你的测试、allegro拆卸,不管你想拆卸什么样的boost 除非您想对allegro设置功能进行单元测试,否则不会出现问题
您可以澄清或发布特定问题吗?boost.test可以与main()一起使用,也可以不与main()一起使用。查看这些宏将使您了解如何正确使用它:
//#define BOOST_TEST_MODULE my_test
//#define BOOST_TEST_MAIN
//#define BOOST_TEST_DYN_LINK
//#define BOOST_TEST_NO_MAIN
我在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();
}
//测试库
//###################################################################################
//建立boost测试框架
#定义BOOST\u TEST\u NO\u MAIN
#定义BOOST\u TEST\u DYN\u链接
#定义BOOST_TEST_模块“libcommon的单元测试”
#包括
#包括
//###################################################################################
#包括
#包括
使用名称空间boost::unit_test;
int main(int argc,char*argv[]){
(无效)argc;
(无效)argv;
QApplication应用程序(argc、argv);
QTextCodec::setcodefortr(QTextCodec::codeforname(“utf8”));
::boost::unit_test::unit_test_main(&init_unit_test,argc,argv);
返回app.exec();
}
谢谢!那是值得一看的地方