zoukankan      html  css  js  c++  java
  • Yii 1.1.x 单元测试

    代码若不整洁,只会越来越糟糕;代码写不好,公司要黄是迟早。

    Yii 的应用有两种,下面记录这两种应用的单元测试方法

    1. webApplication
    2. consoleApplication

    在protected ests下面放 bootstrap.php

    <?php
    date_default_timezone_set("Asia/Shanghai");
    // change the following paths if necessary
    $_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__) . '/../';
    set_include_path($_SERVER['DOCUMENT_ROOT']);
    error_reporting(E_ALL);
    defined('YII_DEBUG') or define('YII_DEBUG',true);
    
    // change the following paths if necessary
    $yii=dirname(__FILE__).'/../../../framework/yii.php';
    $config=dirname(__FILE__).'/../../protected/config/main.php';
    $console=dirname(__FILE__).'/../../protected/config/console.php';
    // specify how many levels of call stack should be shown in each log message
    defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
    require_once($yii);
    //require_once($config);
    //require_once($console);
    
    Yii::setPathOfAlias('application', $_SERVER['DOCUMENT_ROOT']);
    Yii::import("application.components.*");
    Yii::import('application.extensions.a.*');
    Yii::import('application.extensions.b.*');
    Yii::import('application.extensions.c.*');
    Yii::import('application.extensions.d.*');
    Yii::import('application.extensions.e.*');
    Yii::import('application.extensions.f.*');
    Yii::import('application.extensions.g.*');
    Yii::import("application.services.*");
    Yii::createWebApplication($config);
    //Yii::createConsoleApplication($console);
    

    研究一下午,PHP 的include 真的复杂,import 非常important,有了Bootstrap.php

    在tests下面的测试文件例如 ServicesTester.php

    第一行写
    require_once ("../bootstrap.php");

    然后就写MockClass 和 TestCase 就好了。

    注意:
    bootstrap 最后的两行,差别在于读取的配置文件不同,可能导致数据库连接配置的问题。
    命令行的项目 读的是console.php。
    Web项目读的是main.php。
    Yii:app()->db 读的位置取决于 读的配置文件,这一点容易出错。

  • 相关阅读:
    HIVE 2.1.0 安装教程。(数据源mysql)
    Linux基础命令—sleep
    Linux基础命令—echo
    C语言的基本数据类型
    Linux基础命令—rmdir
    Linux基础命令—mkdir
    Linux基础命令—cd
    Linux基础命令—pwd
    Linux周期性执行任务(crontab)
    Linux执行单一时刻定时任务管理操作(at)
  • 原文地址:https://www.cnblogs.com/slankka/p/9158514.html
Copyright © 2011-2022 走看看