前言
tp5自带了phpunit,但是,其phpunit版本很老,有时候集成还会出错,反正我是集成之后没法用的,并且我又习惯了phpunit6.5的语法,所以在项目中想使用tp5集成phpunit 6.5,而不是用用tp默认的单元测试工具。
问题
tp5集成了phpunit后,最大的问题是类的自动加载问题。通常我们会在项目的extend目录下写一些自己的类库,但是在单元测试的时候会报类找不到。
namespace util;
class ConfigMap
{
// 车辆配置
const CONFIGS = [
// 车辆类型
'viche_type' => [
'1' => '栏板车',
'2' => '高栏车'
]
];
/**
* 获取配置
* @param $keys string 键, 传空值,表示获取对应type下的所有配置,多个用逗号隔开
*/
public static function getConfs($names = '')
{
// TODO
}
}
如上,在extend的util目录下,有个ConfigMap类,这个类很简单,就是配置一些数据,通过getConfs方法可以获取配置数据。
我想对此类写单元测试,在项目根目录下写一个phpunit.xml文件,配置如下