codeigniter单元测试

本文介绍了什么是单元测试以及其在编程中的重要性,特别关注PHP框架CodeIgniter中的单元测试实现。CodeIgniter提供了一个简单的单元测试类,通过加载该库并使用`$this->unit->run()`方法进行测试。文章通过实例展示了如何运行和验证测试结果,包括不同的期望结果类型,如`is_string`等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


php框架codeigniter提供了单元测试,那么什么是单元测试我们首先了解一下

维基百科中说道: http://zh.wikipedia.org/wiki/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95

在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试

部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类

(子类)中的方法。

通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序的过程中前后很可能要进行多次单元测试,以证实程序达到软件规格书

(en:Specification)要求的工作目标,没有程序错误;虽然单元测试不是什么必须的,但也不坏,这牵涉到专案管理的政策决定。

每个理想的测试案例独立于其它案例;为测试时隔离模块,经常使用stubs、mock[1] 或fake等测试马甲程序。单元测试通常由软件开发人员编写,

用于确保他们所写的代码符合软件需求和遵循开发目标。它的实施方式可以是非常手动的(通过纸笔),或者是做成构建自动化的一部分。


简单来说就是测试代码的方法


codeigniter提供了单元测试类(简单的单元测试类)

首先加载单元测试类  $this->load->library('unit_test');

运行一个单元测试 $this->unit->run( test, expected result, 'test name', 'notes'); 他提供了四个参数  第一个test是你要测试的对象  第二个expected result 测试返回结果 第三个testname是测试名称,第三第四不是必填项,可以根据自己需求添加

现在我们先运行一个实例

$test=array('test unit'=>'hello unit');
echo $this->unit->run($test, 'is_array','club_community_home_made');

输出结果是:

Test Nameclub_community_home_made
Test DatatypeString
Expected DatatypeString
ResultPassed
File NameD:\phpproject\hmvc\application\modules\club\community\controllers\home_made.php
Line Number36
Notes 

第二个参数官方给出了几个参数可以选填,这个是泛定义,通俗说就是如果你测试的对象返回的类型

注意第二个参数"is_string"的使用,它告诉函数测试你的测试用例产生的将是一个字符串。下面是合法的类型列表:

  • is_object
  • is_string
  • is_bool
  • is_true
  • is_false
  • is_int
  • is_numeric
  • is_float
  • is_double
  • is_array
  • is_null

或者你可以直接在第二个参数中定义结果

echo $this->unit->run('this is test', 'hey test','club_community_home_made');
Test Nameclub_community_home_made
Test DatatypeString
Expected DatatypeString
ResultFailed
File NameD:\phpproject\hmvc\application\modules\club\community\controllers\home_made.php
Line Number38
Notes

运行上述例子会ci测试单元输出测试结果的Result显示错误,因为你要测试的单元结果是

this is test而返回结果定义的是hey test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值