进阶篇:如何为ThinkPHP5编写优质的单元测试?
前言 在项目开发中,需要使用到ThinkPHP 5,为了编写单元测试,解决了几个难题,特此纪录分享一下。 难点1:TP5自带的单元测试感觉不好用,如何使用纯粹的原生PHPUnit? 在看云上,有TP5官方关于单元测试的使用说明,链接是:https://www.kancloud.cn/manual/thinkphp5/182511 但上面的说明过于简单,对于实际使用帮助有限。 对于一直钟情于自动化单元测试以及PHPUnit原生单元测试的我,决定对此优化一番,引入并在ThinkPHP 5下使用原生PHPUnit。 第一步:准备工作 在tests目录下,创建一个phpunit目录,然后创建两个文件:测试启动文件bootstrap.php和单元测试的配置文件phpunit.xml。 测试启动文件bootstrap.php,可以参考项目的启动文件,复制过来后调整下,例如这样: <?php // 定义应用目录 define('APP_PATH', __DIR__ . '/../../application/'); define('APP_DEBUG', true); //开启调试模式 define("APP_STATUS", "tests"); //定义为本地环境 define("RUNTIME_PATH", __DIR__ . "/../../runtime/"); //定义缓存目录