UnitTest++ 学习笔记
来源:互联网 发布:linux 重启ssh 编辑:程序博客网 时间:2024/05/29 18:34
简介
最近没事 就看了下 unittestpp 的源码, 记录下一点东西和一个好的博客 .
笔记
自己做的UnitTestpp 的XML 图:
- 主要架构
- Reporter 部分的细致分类
关于如何使用 unittestpp 的一个好博客 :
http://www.ultimatepp.org/srcdoc
################################
更新。
下载地址
Latest (HEAD)
#Via git:git clone https://github.com/unittest-cpp/unittest-cpp#Via svn:svn checkout https://github.com/unittest-cpp/unittest-cpp/trunk unittest-cpp#Latest release (v1.5.0)#Via git:git clone https://github.com/unittest-cpp/unittest-cppcd unittest-cppgit checkout v1.5.0#Via svn:svn checkout https://github.com/unittest-cpp/unittest-cpp/tags/v1.5.0 unittest-cpp
常用宏
CHECK &CHECK_EQUAL
- 最基本的测试宏 , 出错会打印详细的出错信息 。
- 出错不会中断。
TEST & TEST_FIXTURE
- TEST 注册一组测试
TEST(A_Name){//...}
- A_Name需要(在同一个命名空间中)保持唯一。
- 被包被的代码组成一组测试 , 注册进入测试队列。
- TEST_FIXTURE 基于一个类注册一组测试
TEST_FIXTURE(fixture ,A_Name){//...}
- fixture 需要是struct 或者 class 名字。
- 这个宏必须在cpp中
- 被包被的代码有fixture的全部权限 (其实继承了这个类)。
- fixture必须有默认构造函数。
SUIT 定义一个命名空间。
SUIT{TEST(A_Name1){//...}TEST_FIXTURE(fixture ,A_Name){//...}}
最简单头文件和测试接口
#include "UnitTest++/UnitTestpp.hpp"UnitTest::RunAllTest();
代码实例
test.h
class TestUnitTest { public: TestUnitTest(int i, int j) : a(i) , b(j) {} TestUnitTest() : a(1) , b(2) {} int GetAddResult() {return a+b;} int GetSubResult() {return a-b;} private: int a, b;};
test.cpp
#include "UnitTest++/UnitTestPP.h"#include "test.h"SUITE(TestSuite){ TEST(SimilarlyNamedTestsInDifferentSuitesWork) { CHECK( 1 == 1); CHECK_EQUAL( 0 , 1); } TEST_FIXTURE(TestUnitTest, SimilarlyNamedFixtureTestsInDifferentSuitesWork) { CHECK(TestUnitTest(1,2).GetAddResult() ==3); CHECK(GetAddResult() == 3); }}
main.cpp
#include "UnitTest++/UnitTestPP.h"int main(int, char const *[]){ return UnitTest::RunAllTests();}
输出
1 0
- UnitTest++ 学习笔记
- python unittest 之mock学习笔记
- Python unittest 测试框架学习笔记
- UnitTest 笔记
- python unittest 之mock学习笔记(续一)
- python unittest 之mock学习笔记(续二)
- python笔记之unittest
- unittest学习记录
- unittest
- UnitTest
- Selenium学习笔记之004:使用Selenium IDE录制脚本并分析unittest框架
- Python 中 unittest(单元测试)的学习
- Xcode7 UITest UnitTest 自动化测试学习
- Python学习之单元测试unittest详解
- 使用Python学习selenium测试工具-3:unittest库介绍
- selenium 中PageObject思想学习+部分unittest方法
- Selenium Python自动化测试学习知识积累-unittest
- unittest模块
- 认识HTML5的WebSocket
- Oracle12c(12.1)中性能优化&功能增强之通过参数THREADED_EXECTION使用多线程模型
- lua与c交互
- 云栖社区12篇实战经验所组成的“近战”系列分享
- kafka系列教程1(kafka简介)
- UnitTest++ 学习笔记
- 单链表逆置,C++实现
- 【tyvj1463】智商问题
- 如何把MFC工程XP样式切换成WIN7样式
- 初识Spring
- kafka系列教程3(设计构造及原理2)
- 2016年读书笔记
- 10个Android开源个性化View控件
- Gradle 多渠道打包