Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在QT Creator中运行Boost单元测试?_C++_Qt_Boost - Fatal编程技术网

C++ 如何在QT Creator中运行Boost单元测试?

C++ 如何在QT Creator中运行Boost单元测试?,c++,qt,boost,C++,Qt,Boost,这是一个相当基本的问题,但我没有什么想法。我为我的班级做了一个示例测试: #define BOOST_TEST_MODULE MyTest #include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_CASE( my_test ){ Hero TestHero ("Hika",100,100,100,100,100,100,100,0,100); BOOST_CHECK ( TestHero.g

这是一个相当基本的问题,但我没有什么想法。我为我的班级做了一个示例测试:

#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE( my_test ){
       Hero TestHero ("Hika",100,100,100,100,100,100,100,0,100);         
       BOOST_CHECK ( TestHero.getHP() == 100 ); }
#定义BOOST_TEST_模块MyTest
#包括
增压自动测试案例(我的测试){
英雄测试英雄(“Hika”,1000100);
BOOST_CHECK(TestHero.getHP()==100);}

这些都存储在我的tests.cpp文件中。我的问题是:如何只运行测试而不是整个应用程序?

单元测试通常在应用程序的单独可执行文件中运行

要运行
boost
单元测试库,测试可执行文件必须链接到
boost\u test\u exec\u monitor

注意:
boost
库的确切名称取决于您的操作系统、编译器、多线程和调试模式。请参阅:。
Boost库命名在
linux
上通常更简单。但是,如果您定义了相关的环境变量,则以下
qmake
行将在Windows上以多线程dubug模式链接
MinGW

BOOST_LIB_SUFFIX = $${MINGW_VERSION}-mt-gd$${BOOST_VERSION}

INCLUDEPATH += $$BOOST_ROOT
LIBS += -L$${BOOST_ROOT}/stage/lib
LIBS += libboost_test_exec_monitor$${BOOST_LIB_SUFFIX}
您可以将所有单元测试放在一个文件中,但最好将以下内容放在名为
test\u main.cpp
的文件中(例如),并将其添加到
qmake
文件中的源文件中

#define BOOST_TEST_MODULE Main
#include <boost/test/unit_test.hpp>
然后,单元测试
qmake
文件应包括测试文件以及应用程序中的相关源文件,例如:

SOURCES += tests/test_main.cpp \
   tests/my_test.cpp \
   src/Hero.cpp

查看位于的
tests
目录中的完整示例。

单元测试通常在应用程序的单独可执行文件中运行

要运行
boost
单元测试库,测试可执行文件必须链接到
boost\u test\u exec\u monitor

注意:
boost
库的确切名称取决于您的操作系统、编译器、多线程和调试模式。请参阅:。
Boost库命名在
linux
上通常更简单。但是,如果您定义了相关的环境变量,则以下
qmake
行将在Windows上以多线程dubug模式链接
MinGW

BOOST_LIB_SUFFIX = $${MINGW_VERSION}-mt-gd$${BOOST_VERSION}

INCLUDEPATH += $$BOOST_ROOT
LIBS += -L$${BOOST_ROOT}/stage/lib
LIBS += libboost_test_exec_monitor$${BOOST_LIB_SUFFIX}
您可以将所有单元测试放在一个文件中,但最好将以下内容放在名为
test\u main.cpp
的文件中(例如),并将其添加到
qmake
文件中的源文件中

#define BOOST_TEST_MODULE Main
#include <boost/test/unit_test.hpp>
然后,单元测试
qmake
文件应包括测试文件以及应用程序中的相关源文件,例如:

SOURCES += tests/test_main.cpp \
   tests/my_test.cpp \
   src/Hero.cpp
查看
tests
目录:中的完整示例