摘要 主要讲解如何应用Python进行C语言函数的单元测试。包括单元测试的概念、用Python对C函数进行单元测试过程中用到的关键技术,并通过实例说明这些技术的应用步骤,总结了采用python单元测试和采用Cppunit单元测试两种方案的优缺点。
关键词 Pyunit;Cppunit;gccxml;ctype;单元测试
1概述
1.1单元测试
单元测试是开发者编写的一小段代码,用于检验被测代码一个很小、很明确的功能是否正确。通常而言,一个单元测试用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,开发者可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部;或可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符。执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致。
1.2 功能
编写项目时,如果假设底层的代码是正确无误的,那么先将高层代码中使用底层代码,然后这些高层代码又被更高层的代码所使用,如此往复。当基本的底层代码不再可靠时,那么必须的改动就无法只局限在底层。虽然可以修正底层的问题,但是这些对底层代码的修改必然会影响到高层代码。于是,一个对底层代码修正的举动,可能会导致对几乎所有代码的一连串改动,从而使修改越来越多,也越来越复杂,以致整个项目也以失败告终。
1.3框架
目前各种主流语言都有各自的单元测试框架,如C有Cppunit;Java有Junit;Python有Pyunit等等。大部分的单元测试框架都叫Xunit。下面简单介绍一下Cppunit和Pyunit。
(1) Cppunit
Cppunit是个基于 LGPL 的开源项目,最初版本移植自 Junit ,是一个非常优秀的开源测试框架。Cppunit和 Junit 一样主要思想来源于极限编程,主要功能就是对单元测试进行管理,并可进行自动化测试。
|