欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHPUnit整合ThinkPHP的库

程序员文章站 2022-05-15 09:49:28
...
项目地址:https://github.com/web3d/TPUnit

TPUnit

ThinkPHP PHPUnit框架集成,基于TP3.2,建议PHP 5.4以上环境。

单元测试应该是提高PHP编码质量的解决之道,但应该没有多少PHP团队在用单元测试改善开发过程,更不用提TDD开发方法。

不可否认ThinkPHP框架在国内PHP圈子中的“至高”地位,所以才有这次整合尝试,同时也在团队中进行推行相关实践。

1. 初始配置

为了减少学习成本,建议使用像Netbeans这样的IDE来设定PHPUnit的基本环境。

通过Netbeans的操作界面,可以直接了解PHPUnit使用过程的一些核心概念。

  • 基于Netbeans的PHPUnit环境配置
  • git clone git@github.com:web3d/TPUnit.git 到ThinkPHP的Vendor目录下

2. 开始

将TPUnit中demo目录下的bootstrap.php文件复制到你的tests目录下。

在上一步的配置过程中,有一个“使用引导”的地方记得勾选并指定bootstrap.php文件所在目录。

由于ThinkPHP框架中坑爹的.class.php后缀名,导致NB中无法直接指定要测试的类文件自动生成测试方法骨架。

可以临时给文件改名去掉.class然后利用NB快速生成测试代码骨架。

3. 支持的特性

3.1 基本的UnitTest

最经典的例子:

参看上面的参考配置文档中:基于Netbeans的PHPUnit环境配置

3.2 DB UnitTest

参看本项目demo目录 /demo/Application/Common/Model/UrlModelTest.php 文件。

DBUnit主要由四种断言构成,目前已支持TP对这四种断言的支持:

  • 对表中数据行的数量作出断言
  • 对表的状态作出断言
  • 对查询的结果作出断言
  • 对多个表的状态作出断言

具体请查看https://github.com/web3d/TPUnit/blob/master/demo/Application/Common/Model/UrlModelTest.php

其中,{{%url}} 是从Yii2框架中引入的表名前缀替换方案,{{和}}是表名界定符,%是表名前缀占位符。

以上就介绍了PHPUnit整合ThinkPHP的库,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。