phpunit thinkphp model单元测试

1 thinkphp  是一个mvc 框架,而且使用单一入口文件,即所有应用必须经过入口文件,否则无法访问model,所以只要能把action 模块撤销,那问题就OK

2 在 thinkphp 做单元测试,主要是模拟测试环境,比如 配置文件,加载模块,session,cookie 等等,所以如没有必要,尽量用thinkphp 系统加载所有环境,

  不过也可以自己模拟测试环境,不过要求对thinkphp 内部架构有很深的了解

3 thinkphp 的App.class.php 的run 方法 代码如下

/**
     +----------------------------------------------------------
     * 运行应用实例 入口文件使用的快捷方法
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @return void
     +----------------------------------------------------------
     */
    static public function run() {
        // 项目初始化标签
        tag('app_init');
        App::init();
        // 项目开始标签
        tag('app_begin');
        // Session初始化
        session(C('SESSION_OPTIONS'));
        // 记录应用初始化时间
        G('initTime');
        App::exec();
        // 项目结束标签
        tag('app_end');
        // 保存日志记录
        if(C('LOG_RECORD')) Log::save();
        return ;
    }

   App::exec();  此函数 实例化了action 类,所有只要撤掉 调用  App::exec();  就可以跳过action 

   为了能兼容测试环境与真是环境,设置了个开关

  if(!APP_PHPUNIT){
         App::exec();
  }

 

  测试框架入口文件代码BaseModelTest.php

<?php
/**
* filename:前台入口文件
* desc:前台入口文件,框架选型:ThinkPHP
* create:创建时间格式:2012-04-16
* author:xxxxx
*/
// 定义ThinkPHP框架路径


define('THINK_PATH', '../../TP/');
//定义项目名称和路径
define('APP_NAME', 'HouTai');
define('APP_PATH', '../../HouTai/');
define('RUNTIME_PATH',APP_PATH.'../Runtime/'.APP_NAME.'/');
define("APP_DEBUG", false);

//model测试开关
define("APP_PHPUNIT", true);

// 加载框架公共入口文件
require THINK_PATH."/ThinkPHP.php";

?>

 

  分组框架入口文件代码admin.php

<?php
/**
* filename:前台入口文件
* desc:前台入口文件,框架选型:ThinkPHP
* create:创建时间格式:2012-04-16
* author:xxxxx
*/
// 定义ThinkPHP框架路径
define('THINK_PATH', './TP/');
//定义项目名称和路径
define('APP_NAME', 'HouTai');
define('APP_PATH', './HouTai/');
define('RUNTIME_PATH',APP_PATH.'../Runtime/'.APP_NAME.'/');
define("APP_DEBUG", TRUE);

//model测试开关
define("APP_PHPUNIT", false);
// 加载框架公共入口文件
require THINK_PATH."/ThinkPHP.php";

?>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值