zoukankan      html  css  js  c++  java
  • Windows10 + IntelliJ IDEA 2017.3.2 + wamp2e + Yii + PHPunit 搭建测试环境

    一、环境

    系统: windows10

    WampServer:  wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-32b.exe

    IDE:  IntelliJ IDEA 2017.3.2

    PHP: 7.1.15

    Intellij IDEA 如何支持php请参考,IntellIJ IDEA 配置 Vue 支持

    二、PHPunit配置

    1.下载PHPunit.phar:

    Linux:

    wget -O phpunit https://phar.phpunit.de/phpunit-7.phar
    chmod +x phpunit
    
    ➜ ./phpunit --version

    Window:

    下载phpunit-7.phar到你所在的php.exe目录下, 并新建外包覆批处理脚本 phpunit.cmd 文件,内容如下:

    @ECHO OFF
    php %~dp0phpunit-7.phar %*

    对于 Cygwin 或 MingW32 (例如 TortoiseGit) shell 环境, 取而代之的是,把文件保存为 phpunit (没有 .phar 扩展名),然后用 chmod 775 phpunit 将其设为可执行。参考:安装 PHPUnit

    设置环境变量:

    执行: phpunit --version

     PS: https://phpunit.de/getting-started/phpunit-7.html

    三、新建测试项目

    1.以Yii 项目为例,在protected目录下创建一个测试目录tests。在tests目录下创建bootstrap.php文件。

    <?php
    define('YII_ENV', 'test');
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    require_once(__DIR__ . '/../../../yiisoft/yii2/Yii.php');
    $config = require '../config/web.php';
    (new Application($config));

    bootstrap文件是用来加载测试用例的运行时用的,各个项目有各个项目的加载配置,按具体项目而定。

    2.编写测试用例

    <?php
    
    use PHPUnitFrameworkTestCase;
    
    class MyTest extends TestCase{
    
        public function testEmpty(){
            $stack = [];
    
            $this->assertEmpty($stack);
    
            return $stack;
        }
    }

    在测试用例中需要注意的是命名空间还是需要指定的。参考:编写 PHPUnit 测试

    三、配置PHPunit

    1. 勾选 Default bootstrap file ,并选择你上文新建的 bootstrap.php 文件。

    2. 在你所在的 MyTest.php 文件 testEmpty 方法体中, 点击右键选择执行 。

    如果你想手动执行:

    D:IdeaProjects>phpunit --bootstrap D:IdeaProjects	estprotected	estsootstrap.php MyTest D:IdeaProjects	estprotected	estsexamplesMyTest.php
    PHPUnit 7.1.5 by Sebastian Bergmann and contributors.
    
    .                                                                   1 / 1 (100%)
    
    Time: 367 ms, Memory: 10.00MB
    
    OK (1 test, 1 assertion)

    PS:

    http://www.yii-china.com/post/detail/460.html

    http://tangl163.iteye.com/blog/2288538

    https://phpunit.readthedocs.io/zh_CN/latest/installation.html

    https://phpunit.readthedocs.io/zh_CN/latest/index.html

    https://phpunit.de/getting-started/phpunit-7.html

  • 相关阅读:
    Robocopy进行大量迁移
    以日期为文件名
    office outlook 無法開啟 outlook 視窗
    Dell R420 RAID建立以及系统安装
    CentOS系统如何设置服务开机自动运行
    Win10系统怎样让打开图片方式为照片查看器
    Download Software Top 10
    CentOS 5.11安装配置LAMP服务器(Apache+PHP5+MySQL)
    建模时,什么时候用值对象,什么时候用子表
    缓存穿透、缓存雪崩、缓存击穿的概念和解决方案
  • 原文地址:https://www.cnblogs.com/phpdragon/p/9007452.html
Copyright © 2011-2022 走看看