InitPHP (A PHP Framework) 用户手册
第6章 6.6.9 Unittesting

工具描述:

主要用来测试应用的Service接口代码。单元测试可以保证用户的Service代码的稳定性。详细会在使用帮助中介绍。属于InitPHP框架工具类,需要通过$this->getUtil()方法获取

使用方法:

$unittesting = $this->getUtil('unittesting'); 

接口描述:

接口:$unittesting->run($file = '') 系统自动加载需要单元测试的文件
参数 类型 是否必须 描述
$file String 1. 为空,则单元测试所有Sevice代码2. 数组则检测数组中的单元测试文件 3.字符串,单个文件检测
接口:$unittesting->add_data($function_param, $forecast_result, $type = '=') 添加预测数据
参数 类型 是否必须 描述
$function_param String 方法传递的参数
$forecast_result String 预测结果的值
$type String 预测结果的类型 'type', '=', '!=', '!==','>', '<' 类型比较|值=号比较|不等于比较|大于比较|小于比较
接口:$unittesting->test($function) 预测数据
参数 类型 是否必须 描述
$function String 方法名称

实例:

/***************单元测试使用需要配置initphp.conf.php****************/
/* 单元测试文件后缀名称 */
$InitPHP_conf['unittesting']['test_postfix'] = $InitPHP_conf['service']['service_postfix'] . 'Test'; //文件后缀
$InitPHP_conf['unittesting']['path'] = 'lib/test/'; //单元测试文件夹目录
/* 如何运行单元测试 */
$this->load('unittesting', 'u')->run($file = '');
//1. $file = 'user' 则只是测试userService数据
//2. $file = array('user', 'test'); 只是测试user和test Service数据
//3. $file = ''; 跑起整个测试
/* 如何编写单元测试用例 */
class userServiceTest {
    
    //单元测试核心函数 run($self)
    public function run($self) {
        $self->add_data(array('woshishen'), 'array', 'type'); //添加预测数据
        $self->add_data(array('woshishen'), 'array', 'type'); //添加预测数据
        $self->test('get_by_username'); //对get_by_username函数进行预测 会自动清空上面的预测数据
        $self->add_data(array('woshishend@qq.com'), 'array', 'type'); //继续添加预测数据
        //注意:'type', '=', '!=', '!==','>', < 有这么多种对应的预测比较方法 (类型比较|值=号比较|不等于比较|大于比较|小于比较)
        $self->test('get_by_email'); //对get_by_email进行预测
    }
}