CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率

CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率


安装PHPUnit

安装PHPUNIT,具体安装方法,在不同的操作系统下也不相同,网上有很多方法,可以参照一下。安装好后,最好将phpunit设置成环境变量。

CI框架自带单元测试

CI是利用PHPUNIT进行测试的,而框架里面自带的也有写好的测试用例

CI单元测试结构介绍
在框架根目录下的tests文件夹中有以下几个文件夹,其作用如下:

  • Controllers:存放对Application中的controller中的文件进行测试。
  • Fixtures:存放测试数据文件yml及其他测试(暂时没有搞明白)。
  • Helpers:存放对Application中的helpers中的文件进行测试。
  • Libs:存放对Application中的libs中的文件进行测试。
  • Models:存放对Application中的models中的文件进行测试。
  • System:存放对Application中的system中的文件进行测试。
  • 该文件夹下还有如generate,generate.php, getops.php, holderphpunit.xml在写测试用例的时候我们不用修改,暂忽略之。
  • 在application文件夹下还有一个third_party的文件夹,这个里面有CIUnit文件夹,里面存放着生成和回收测试数据的Fixture.php,还有其他进行测试相关驱动的文件,目前我没有研究它们的工作方法。

推荐第三方集成

  • CIUnit集成(推荐)
    https://kenji-s.hatenadiary.org/entry/20120117/1326763908

单应用集成(按官方接入即可)

CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率_第1张图片

多应用集成(需要手动适当调整)CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率_第2张图片

运行结果CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率_第3张图片

生成的多应用测试结果

CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率_第4张图片

  • 另外一个集成
    https://github.com/fmalk/codeigniter-phpunit

相关论坛

https://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=12205&highlight=%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95

你可能感兴趣的:(PHP深入实践)