如何在VS2013中进行Boost单元测试

发表于:2014-10-20 11:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:峰子_仰望阳光    来源:51Testing软件测试网原创

  接着,“生成”该工程,产生tested.obj文件。
  3. 配置Boost单元测试工程
  新建的Boost单元测试工程中有两个源文件“BoostUnitTestSample.cpp”及“BoostUnitTest.cpp”(还有stdafx.h、stdafx.cpp、targetver.h),前一个文件是样例,可以不要,后一个文件可以当作我们的单元测试源文件。
  先对该工程进行配置:
  4. 进行Boost单元测试
  注:我们在这时只进行简单的单元测试,更加复杂的测试请参考文章最后给出的链接。
  在BoostUnitTest工程中的文件“BoostUnitTest.cpp”(也可新建)添加如下代码:
1 #define BOOST_TEST_MODULE Tested_Module                                // 主测试套件,一个测试项目中只能有一个主测试套件
2
3 #include "stdafx.h"
4 #include "D:\VSProject\BoostUnitTest\BoostUnitTest\Tested\tested.h"    // 待测工程头文件
5
6 struct Tested_Fixture                                                  // 测试夹具
7 {
8     Tested_Fixture()
9     {
10         BOOST_TEST_MESSAGE("setup fixture");
11         tmpTested = new Tested();
12     }
13     ~Tested_Fixture()
14     {
15         BOOST_TEST_MESSAGE("teardown fixture");
16         delete tmpTested;
17     }
18     Tested * tmpTested;
19 };
20
21 BOOST_FIXTURE_TEST_SUITE(Tested_test, Tested_Fixture)                  // 测试套件
22
23 BOOST_AUTO_TEST_CASE( Tested_Method_add_Test)                          // 测试用例
24 {
25      // TODO: Your test code here
26     BOOST_WARN(tmpTested->add(2, 2) == 4);                             // WARN型预言检测
27     BOOST_CHECK(tmpTested->add(2, 2) == 4);                            // CHECK型预言检测
28     BOOST_REQUIRE(tmpTested->add(2, 2) == 4);                          // REQUIRE型预言检测
29 }
30
31 BOOST_AUTO_TEST_SUITE_END()
  点击“生成->生成解决方案”(预先打开“测试->窗口->测试资源管理器”)可以看到在“测试资源管理器”中出现了“BoostUnitTest”这个单元测试用例,如下图:
  注:如果电脑安装有杀毒软件(如360),“生成解决方案”的时候可能会提示:error LNK1104: 无法打开文件“...\BoostUnitTest\Debug\Tested.dll"。这是因为杀毒软件拦截了单元测试工程对被测试工程.dll文件的访问。比较简单的方法是将杀毒软件关闭就OK了。
  点击“全部运行”,可以看到该测试用例变绿,说明测试通过,如下图:
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号