如何在VS2013中进行Boost单元测试
1 #include <iostream>
2
3 using namespace std;
4
5 class Tested
6 {
7 public:
8
9 Tested();
10 virtual ~Tested();
11 int add(const int a, const int b);
12
13 private:
14
15 };
|
1 #include "tested.h"
2
3 Tested::Tested()
4 {
5
6 }
7
8 Tested::~Tested()
9 {
10
11 }
12
13 int Tested::add(const int a, const int b)
14 {
15 return a + b;
16 }
|
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()
|
1 #include <iostream>
2
3 using namespace std;
4
5 class Tested
6 {
7 public:
8
9 Tested();
10 virtual ~Tested();
11 int add(const int a, const int b);
12 void testException();
13
14 private:
15
16 };
1 #include "tested.h"
2
3 Tested::Tested()
4 {
5
6 }
7
8 Tested::~Tested()
9 {
10
11 }
12
13 int Tested::add(const int a, const int b)
14 {
15 return a + b;
16 }
17
18 void Tested::testException()
19 {
20 throw logic_error("my throw"); // 抛出一个逻辑错误异常
21 }
|
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
32 BOOST_AUTO_TEST_CASE(Tested_Method_testException_Test) // 测试用例
33 {
34 // TODO: Your test code here
35 BOOST_REQUIRE_NO_THROW(tmpTested->testException()); // 验证是否无异常抛出,是则为真
36 BOOST_REQUIRE_THROW(tmpTested->testException(), logic_error); // 验证抛出的是否是logic_error异常
37 BOOST_REQUIRE_THROW(tmpTested->testException(), runtime_error); // 验证抛出的是否是runtime_error异常
38
39 }
40
41 BOOST_AUTO_TEST_SUITE_END()
|
如何在VS2013中进行Boost单元测试相关推荐
- node 单元测试_如何在Node中模拟对单元测试的请求
node 单元测试 by Edo Rivai 由Edo Rivai 如何在Node中模拟对单元测试的请求 (How to mock requests for unit testing in Node) ...
- 如何在VS2013中隐藏引用计数?
本文翻译自:How to hide reference counts in VS2013? Visual Studio 2013 introduced a new feature where it s ...
- 如何在VS2013中显示代码行号
http://jingyan.baidu.com/article/af9f5a2d2e193543140a4533.html 转载于:https://www.cnblogs.com/landv/p/4 ...
- boost::unorder_map如何插入元素_「React」如何在React中优雅的实现动画
最简单的动画组件实现 动画的本质,无非就是一个状态样式到另一个状态样式的过渡.最简单的动画组件,我们只需要指定两个状态的样式(进入的样式,离开的样式),以及一个开关(控制状态),即可完成. codep ...
- 如何在window系统VS中设置boost编程环境
在windows系统中设置boost编程非常简单: 1.下载boost软件包 网址:http://www.boost.org/ 最新版:http://www.boost.org/users/histo ...
- 我是如何在SQLServer中处理每天四亿三千万记录的
原文地址:http://www.cnblogs.com/marvin/p/HowCanIHandleBigDataBySQLServer.html 首先声明,我只是个程序员,不是专业的DBA,以下这篇 ...
- 【机器学习基础】如何在Python中处理不平衡数据
特征锦囊:如何在Python中处理不平衡数据 ???? Index 1.到底什么是不平衡数据 2.处理不平衡数据的理论方法 3.Python里有什么包可以处理不平衡样本 4.Python中具体如何处理 ...
- 请看:我是如何在SQLServer中处理每天四亿三千万记录的
2019独角兽企业重金招聘Python工程师标准>>> 小中午,无意间读到这篇博客,觉得,文中作者在处理海量数据写入方面,所做的一些尝试,或许可以给同道朋友提供一些帮助,与君共勉. ...
- java整数的因式分解_如何在Java中找到整数的质数-因式分解
java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...
最新文章
- 从零实现Vue的组件库(十)- Select 实现
- 别再说你不懂Linux内存管理了,10张图给你安排的明明白白!
- python中的方法需要定义_Python中规范定义命名空间的一些建议
- Redis进阶-Redis缓存优化
- java中 hashmap中小数,java基础知识--HashMap中对 h(length-1)的理解
- Hadoop 2.0安装以及不停集群加datanode
- mysql调试.net_需要有关使用.NET和MySQL调试应用程序的帮助
- C排序算法:(二)冒泡排序
- 【CodeForces - 761D 】Dasha and Very Difficult Problem (构造,思维)
- Ubuntu 安装和使用 jupyter 出现的问题总结
- EMNLP 2021 | 百度:多语言预训练模型ERNIE-M
- 【转载】规则化和模型选择(Regularization and model selection)
- 【Best Time to Buy and Sell Stock II】cpp
- tensorflow CNN常用函数汇总
- matlab中输出汉字的函数,matlab中的输出显示函数
- 【动态任务-七】Spring整合Cron在线生成表达式(基于bootstrap3自适应样式)
- 计算机id和密码怎么查,忘记Apple ID账号和密码怎么办?
- 《重装系统后弹出对话框(无法打开这个应用(无法使用内置管理员账户打开xx,请使用其他账户登录,……))》
- 计算机文档考试题目及答案,计算机word考试题及答案解析
- 大数据之路——数据挖掘
热门文章
- centos7 centos-home 磁盘空间转移至centos-root下(磁盘空间不足,磁盘不足)
- Python name ‘basestring‘ is not defined
- 截取、拼接字符串,memcpy
- wifi弱口令检查(2)
- OLW (Open Live Writer)安装代码高亮插件方法(简明)
- 拥抱 Android Studio 之五:Gradle 插件开发
- Oracle中备份用户对象的两种方法
- iframe高度自适应
- jquery中的ajax方法参数——$.ajax()方法详解
- UVA 10047 - The Monocycle BFS