搜索
您的当前位置:首页正文

c++单元测试

来源:尚车旅游网
c++单元测试

单元测试所⽤⽂件链接如下:

1 添加

将上述catch.hpp⽂件引⼊要测试的c++项⽬中。

2 使⽤

使⽤⽅式如下:

在catch.hpp第10892⾏的main函数 中写了执⾏测试⽤例的规则

int main (int argc, char * argv[]){

//查找内存泄漏代码

//_CrtSetBreakAlloc(19949); //检查是否有内存泄漏

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); Catch::Session session;

//⼀下三⾏代码不可同时启⽤,不启⽤下⾯三⾏代码,默认执⾏所以测试⽤例 //启⽤下⾏代码,表⽰只执⾏\"名称\"为\"NIST_Cone\"的测试⽤例 //addTestOrTags(session.configData(),\"G100P250_L1435\");

//启⽤下⾏代码,表⽰只执⾏\"标签\"为\"[ABCD]\"的测试⽤例,标签必须加“[...]\" //addTestOrTags(session.configData(),\"[ABCD]\");

//启⽤下⾏代码,表⽰只执⾏\"标签\"为\"[ABCD]\"或\"[BCDE]\"的测试⽤例 //addTestOrTags(session.configData(),\"[ABCD],[BCDE]\"); int result = session.run(); getchar(); // YuYang Write it.return ( result < 0xff ? result : 0xff );}

3 编写单元测试

可以在⼀单独⽂件,专门编写单元测试⽤例。⾸先,引⼊关键头⽂件等

#include \"catch.hpp\" //头⽂件//必要的宏

#ifndef CATCH_CONFIG_MAIN#define CATCH_CONFIG_MAIN#endif

编写⽅法⼤致如下;

TEST_CASE(\"test\", \"[1]\") {

int a = sum( 2,4); //sum是被测试的函数 CHECK_EQUAL(a, 6); //测试结果判断/条件}

TEST_CASE(\"test2\", \"[1]\"){

int a = sum( 2,4); CHECK_EQUAL(a, 7);}

4 运⾏测试⽤例

注意屏蔽掉其他的main函数,直接运⾏时会运⾏catch.hpp中的main函数,从⽽执⾏单元测试⽤例。

5 观察测试结果

测试结果中标⽰出了出错的⽤例,以及出错的位置。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top