Unit testing Cmockery 简单使用

简介: /********************************************************************** * Unit testing Cmockery 简单使用 * 说明: * 之前早有听说过Cmockery,但一直没有使用起来,主要是也不知道用来做 * 什么,当然现在其实也不知道用来做什么,不过还是想编译一下,看下效果, * 然后搞了一个最简单的测试程序看一下效果。
/**********************************************************************
 *                 Unit testing Cmockery 简单使用
 * 说明:
 *     之前早有听说过Cmockery,但一直没有使用起来,主要是也不知道用来做
 * 什么,当然现在其实也不知道用来做什么,不过还是想编译一下,看下效果,
 * 然后搞了一个最简单的测试程序看一下效果。
 *
 *                                     2016-5-3 深圳 南山平山村 曾剑锋
 *********************************************************************/


一、参考文章:
    C单元测试框架之Cmockery
        http://c4fun.cn/blog/2014/12/06/cmockery/

二、编译:
    1. ./configure
    2. make
    3. sudo make install
    4. sudo ldconfig

三、Demo Test:
    #include <stdarg.h>
    #include <stddef.h>
    #include <setjmp.h>
    #include "cmockery.h"  // 注意头文件所在的位置

    void testFunction(void **state) {
        printf("zengjf.\n");
    }

    int main(int argc, char *argv[])
    {
        const UnitTest tests[] = {
            unit_test(testFunction),
        };
        return run_tests(tests);
    }

四、测试结果:
    myzr@myzr:~/c_program$ ./a.out
    testFunction: Starting test
    zengjf.
    testFunction: Test completed successfully.
    All 1 tests passed
    myzr@myzr:~/c_program$ 

 

目录
相关文章
|
7月前
|
Rust Java Go
Python is Easy. Go is Simple. Simple != Easy
Python以其易学易用著称,常用于初学者编程和复杂科学计算,但其解释器的复杂性和环境易变性可能导致运行时问题。Go语言则追求简单,语法稳定,编译快速,生成的二进制文件小巧、独立。Go的静态链接特性使其能在不同系统上无缝运行,而Python在数据科学和原型设计上仍具有优势。结合两者,通过Django进行快速原型验证,然后用Go重构业务逻辑和高性能部分,形成了一种有效的开发策略。
43 0
|
5月前
|
数据库 开发工具 开发者
【Python】已解决:You have 18 unapplied migration(s). Your project may not work properly until you apply t
【Python】已解决:You have 18 unapplied migration(s). Your project may not work properly until you apply t
206 0
/etc/init.d/functions运用实战配置system服务详解
/etc/init.d/functions运用实战配置system服务详解
|
Dart 安全
Flutter开发Cannot run with sound null safety报错
Flutter开发Cannot run with sound null safety报错
|
存储 XML 缓存
loadrunner 运行脚本-Run-time Settings-Browser Enmulation设置详解
loadrunner 运行脚本-Run-time Settings-Browser Enmulation设置详解
139 0
|
测试技术
loadrunner 运行脚本-Run-time Settings->General->Additional attributes设置
loadrunner 运行脚本-Run-time Settings->General->Additional attributes设置
102 0
|
存储 安全 API
Objective-C Runtime 基本使用
在上一篇文章Objective-C Runtime详解 中我们探讨了Runtime的基本原理,这篇文章我们将总结一下Runtime的一些基本使用
207 0
Appium问题解决方案(9)- Original error: Failed to launch Appium Settings app: Condition unmet after 5090 ms
Appium问题解决方案(9)- Original error: Failed to launch Appium Settings app: Condition unmet after 5090 ms
427 0
Appium问题解决方案(9)- Original error: Failed to launch Appium Settings app: Condition unmet after 5090 ms