《测试驱动的嵌入式C语言开发》——2.1节什么是自动化单元测试框架

    xiaoxiao2021-04-18  171

    2.1 什么是自动化单元测试框架自动化单元测试框架就是一个软件包,它能让程序员表达产品代码应该有什么样的行为。自动化单元测试框架的工作就是要提供以下能力:

    用于表述测试用例的通用语言;用于表述期望结果的通用语言;能够使用产品代码所用编程语言的功能;能把所有的工程、系统或子系统中的单元测试用例收集到一起;一个能运行全部或者部分测试用例的机制;对于测试套件的成功和失败给出明确的报告;对于失败的测试给出详细的报告。本书中用到的两个单元测试框架在测试嵌入式C代码以及开源代码中都很流行,并且它们也很容易使用。这两个自动化测试框架都承袭自xUnit单元测试自动化框架系列。

    为了方便阅读本书,这里介绍几个术语:

    被测代码,就是被测试的代码,不需要太多解释。产品代码,是指产品中(或者将要成为产品中)的代码,将来要出现在发布的产品中。测试代码,是指用来测试产品代码的代码。这些代码不会出现在发布的产品中。测试用例,是用来描述被测代码行为的一段测试代码。它会创建测试的先置条件并检验重要的后置条件是否满足。 测试夹具,是用来为一系列的测试用例提供一个合适环境的代码,从而使这些测试用例能够运行被测代码。测试夹具会通过建立通用的设置以及用来运行产品代码的环境来辅助测试。

    为了更好地理解这些术语,让我们来看一些示例测试,它们将测试我们大家都用过的一个函数:sprintf()。在这个例子中,sprintf()就是“被测代码”,同时它也是“产品代码”。sprintf()作为第一个例子很合适,因为它是一个独立的函数,是测试起来最直接的一种函数。独立函数的输出完全由直接传给它的参数决定。它不会有可见的外部交互或者被保存起来的状态来妨碍我们。每次对这个函数的调用与之前的任意次调用之间都是不相关的。


    最新回复(0)