⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rcunit_cookbook.html

📁 一个做软件测试的源码,可以用于工程中软件测试,全部为自己编写,内付说明
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>RCUnit: RCUnit Cookbook</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.4.2 --><div class="qindex"><a class="qindex" href="index.html">首页</a> | <a class="qindex" href="modules.html">模块</a> | <a class="qindex" href="annotated.html">数据结构</a> | <a class="qindex" href="dirs.html">目录</a> | <a class="qindex" href="files.html">文件列表</a> | <a class="qindex" href="functions.html">数据字段</a> | <a class="qindex" href="globals.html">全局定义</a> | <a class="qindex" href="pages.html">相关页面</a></div><div class="nav"><b>rcunit_cookbook.dox</b></div><h1><a class="anchor" name="rcunit_cookbook">RCUnit Cookbook</a></h1><h2><a class="anchor" name="cookbook_catalog">目录</a></h2><ul><li><a class="el" href="index.html#introduction">介绍</a></li><li><a class="el" href="rcunit_cookbook.html#configuration">编译 RCUnit 库</a></li><li><a class="el" href="rcunit_cookbook.html#test_case">测试用例(Test Case)</a></li><li><a class="el" href="rcunit_cookbook.html#test_suite">测试集(Test Suite)</a></li><li><a class="el" href="rcunit_cookbook.html#test_output_info">测试输出信息</a></li><li><a class="el" href="rcunit_cookbook.html#post_build">编译后事件(Post-build Step)</a></li></ul><h2><a class="anchor" name="introduction">介绍</a></h2>你想在任何时候都保证你的代码正常运行吗?<p>你会怎么做到这一点? Debug 你的代码、单步运行确认函数输出吗? 每次修改代码之后都这样做,这是一件非常痛苦的事情; 或者你会在代码中间加上一些调试输出信息? 如果这样,你的代码中将充斥着 #ifdef _DEBUG 或者类似的语句。 这不但使得你的代码难看,并且每次都需要你人工确认输出是否正确。<p>如果你开始使用 RCUnit ,所有的烦恼都将消失。 使用 RCUnit ,你所要做的只是在写代码时添加对应的测试用例,其它的事情都交给 RCUnit 来解决。 配置好 RCUnit 之后,每次当你完成编译, RCUnit 会自动执行所有的测试用例。 如果某一天,你不小心修改代码,导致运行错误,RCUnit 会告诉你出错了,并告诉你出错位置。<p>这是不是很爽?不要犹豫了,开始在你的项目中使用 RCUnit 吧!<p>RCUnit 是一个针对C语言的单元测试框架,它非常适合测试用C语言开发的程序,也非常适合测试用C++开发的面向函数的程序。 如果使用 C++ 开发面向对象的程序, 请使用 <a href="http://cppunit.sourceforge.net/">CppUnit</a>,它是一种更加适合测试C++程序的单元测试框架, 并且远比 RCUnit 博大精深,RCUnit 的很多设计思想都是从它借鉴过来的。 如果有关于 RCUnit 及 CppUnit 的使用方面的疑问,请联系 realdodo (<a href="mailto:realdodo@163.com">realdodo@163.com</a>) 或者 null (<a href="mailto:wdx700@21cn.com">wdx700@21cn.com</a>) 。<h2><a class="anchor" name="configuration">编译 RCUnit 库</a></h2>RCUnit 是开源软件,你可以免费获得完整的源码。 为了使用 RCUnit,你需要自己编译 RCUnit 库。 RCUnit 的工程文件放在 project 目录中,打开 RCUnit.dsw 或 RCUnit.sln,并编译 Debug 和 Release, 如果一切正常,lib 目录中会出现 rcunitd.lib 和 rcunit.lib,它们分别是 Debug 版和 Release 版的库。<p>编译完成之后,把 RCUnit 的 include 目录加入到 IDE 的 include 搜索路径中, 把 RCUnit 的 lib 目录加入到 IDE 的库搜索路径。 还需要在测试工程设置中,把 RCUnit 库文件名加入到工程链接库列表中。<h2><a class="anchor" name="test_case">测试用例(Test Case)</a></h2>测试用例是 RCUnit 测试的最基本组成单位。 一般来说,一个测试用例即调用一次被测试函数,并比较返回结果与预期结果是否相同。 测试用例一定存在于一个测试集中, RCUnit 是按照测试集来执行测试用例的。<h2><a class="anchor" name="test_suite">测试集(Test Suite)</a></h2>测试集即测试用例的集合。 一般来说,测试同一个函数的测试用例会放在同一个测试集中, 或者测试多个功能相近函数的测试用例也会放在同一个测试集中。<p>测试集用 <a class="el" href="group__rcunit__write__test__suite.html#ga0">CUNIT_TEST_SUITE_BEGIN() </a> 等一系列宏来声明。 声明通常和测试用例放在同一个文件中,并且一个文件一般只会声明一个测试集。 在执行测试集当中每一个测试用例之前或之后,你可以执行一些自定义的函数, 借助 <a class="el" href="group__rcunit__write__test__suite.html#ga1">CUNIT_HANDLE_SET_UP() </a> 和 <a class="el" href="group__rcunit__write__test__suite.html#ga2">CUNIT_HANDLE_TEAR_DOWN() </a> 以及自定义的函数, 你可以管理测试集的每个测试用例执行前后的资源申请及释放操作。<p>测试集需要使用 <a class="el" href="group__rcunit__registing__test__suite.html#ga0">CUNIT_ADD_TEST_SUITE() </a> 宏注册到 RCUnit 测试列表中去才会被执行, 一般这些注册代码写在 main 函数当中。 RCUnit 遍历注册过的所有测试集,并执行其中的所有测试用例。<h2><a class="anchor" name="test_output_info">测试输出信息</a></h2>执行测试测试用例之后,可以看到屏幕上出现这样一段输出: <div class="fragment"><pre class="fragment">Linking…......F</pre></div> 后面一行 ......F 表示测试用例的通过情况,“点”表示测试用例通过,“F”表示测试用例未通过。<p>其实你可以完全不关注这些信息,因为所有测试用例执行完之后,会输出具体错误信息以及统计信息: <div class="fragment"><pre class="fragment">e:\your_folder_name\your_test_case_name.c(35) : Assertion Failed!    Expect: 2    Actual: 3Total Suite: 2    Total Case: 7    Total Error: 1</pre></div><h2><a class="anchor" name="post_build">编译后事件(Post-build Step)</a></h2>当你编译测试工程成功后就会自动执行测试代码,这样做岂不快哉?<p>设置工程的“编译后事件”就能实现这一功能, 并且在这样设置之后,一旦测试用例执行失败,就会报告编译错误, 并可以从输出窗口直接导航到发生断言的语句。 <hr/><table width="100%">  <tr>    <td align="right" valign="center">    如果对 RCUnit 有任何的疑问或建议,请联系realdodo (<a href="mailto:realdodo@163.com">realdodo@163.com</a>)。    </td>  </tr></table></body> </html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -