软件单元测试总结

本文介绍了Unity作为单元测试框架的基本构成和跨平台特性,包括核心组件和兼容的编译器。软件测试分为given、when、then三个部分,重点讨论了Unity的断言在测试中的关键作用。创建测试文件的步骤包括设置setUp和tearDown函数,以及如何利用for循环批量运行测试用例。在main函数中,解释了argc和argv参数的作用。
摘要由CSDN通过智能技术生成

Unity是一个单元测试框架,核心的unity测试框架有三个文件:一个C 文件和两个头文件。它们共同提供函数与和宏,使测试更加容易。uinty被设计成跨平台的,可以被许多编译器使用,包括:gcc、 IAR、VS等,要实现它与新目标协同工作并不难。

  • 软件测试内容由3部分组成,即given(初始状态或前置条件,给软件测试的变量注入“血液”,想要什么条件,ok,满足。当需要从别的模块获取才能实现的,那就mock(“打桩”),创造函数满足)。when(行为发生,即调用被测试的方法),then(断言结果,对期望和实际结果进行对比,实际不符合期望时,输出错误原因)

  • unity断言引用:是单元测试的面包和黄油,与unity的其他部分相比,将花费更多的时间在断言上。

  • 如何创建测试文件?

    • step1: 测试文件是C 文件。通常情况下,为测试的每个C 模块创建一个测试文件,测试文件应该保留unity.h和要测试的C 模块的头文件。
    • step2:测试文件将包含setUp( )和tearDown( ) 函数。
      • setUp函数可以运行每次测试之前运行的任何内容,意思就是可以运行初始化或上电函数。
      • tearDown函数可以运行次测试之后希望运行的任何内容,意思就是运行完做清除处理。
      • 这两个函数都不接受参数,也不返回任何东西。若不需要,可以实例化为空。
  • 单元测试框架一般如下:

#include "unity.h"

void setUp(void) 
{
    //代码处理前的准备,给定好想运行的条件
}
void tearDown(void)
 {
    // 每执行完一个测试用力,做好代码的善后处理,别影响下个测试用力的运行
}
void test_function1
 {
    //测试用例1
}
void test_function2(void)
 {
    //测试用例2 
}

int main(void) {
    UNITY_BEGIN();
    RUN_TEST(test_function1);
    RUN_TEST(test_function2);
    return UNITY_END();
}
  • 备注:可以根据测试用例的规律,利用for循环实现 对RUN_TEST()函数的调用,进而实现批量运行大量的测试用例。

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

    • argc和argv的参数在用命令行编译程序时使用。int argc为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认为1;第2个参数char *型的argv[]为字符串数组ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值