betway必威-betway必威官方网站
做最好的网站

下的配置及使用教程

一、配置PHPUnit

首先到PHPUnit官网(点此步入)下载相应的本子。大家应用的是php 5.5,于是选拔PHPUnit 4.8。获得 .phar 文件,并把名字改为 phpunit.phar 。

把该公文放到大肆地点。以自个儿要好为例,小编把它内置我们项指标目录下,即D:repositoryCourseManagementmobile_api_test 。

右键 自己的微处理器 ,选择 属性 。点击左侧包车型地铁 高级系统装置 。那时候弹出 系统质量 ,选择 高级 选项卡,点击右下角的 景况变量 。 在客商变量里面,双击 PATH ,在 变量值 前边增添;D:repositoryCourseManagementmobile_api_test (注意最前头的分行,路线填存放phpunit.phar的门路)。配置那个是为着在随便地点都能选取PHPUnit,不安插来讲,供给在phpunit.phar的路径下技能动用PHPUnit。

法定文书档案里有某个从未有过涉嫌,正是php的碰着变量也要安装。比如自个儿的 php.exe 在E:softwarewampbinphpphp5.5.12 里,那么也要在 PATH 后边增多;E:softwarewampbinphpphp5.5.12 。PS:大概是因为本人从不安装PHP的IDE,所以平素还未有布署它,不常之间才想到可能要增多那几个意况变量。

按急迅键 Win R ,输入cmd并回车。步向贮存phpunit.phar的门径。输入 echo @php "%~dp0phpunit.phar" %* > phpunit.cmd 并回车。接着输入 phpunit --version 并回车。即便获得输出 PHPUnit x.y.z by Sebastian Bergmann and contributors. 则表示配置好了(假若有误,输入exit 并回车,重新来叁次)。如下图:

图片 1

转自:

在C:bin 目录下开创文件StackTest.php

三、探究进程

一初阶下载PHPUnit,得到 .phar 文件,感到要解压,囧。找了半天才意识有叁个可以解压这种文件的网站(点此走入)。不过并不曾什么样用……

照着官方文书档案来做,运转时现身谬误:

‘php’ 不是中间或外界命令,亦不是可运转的程序
或批管理公事。

Google搜索,必应寻觅,StackOverFlow寻找,百度寻觅,搜到的答案都还未有用。

重借使因为她俩都默许你早已布署好了PHP意况变量……

末段想着是否事情发生前生成的 phpunit.cmd 有标题?于是查看一下那个文件的剧情。突然想到是否PHP境遇变量没设置的因由?展开cmd,输入 php --version 。得到:

‘php’ 不是内部或外部命令,亦非可运营的次序
或批管理文件。

和上边的错误同样!果然是此处的难题。于是把 ;E:softwarewampbinphpphp5.5.12 增添四意况变量中。再运转 php --version 得到:

PHP 5.5.12 (cli) (built: Apr 30 2014 11:20:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

再进入 phpunit.cmd 所在文件夹,运行 phpunit --version。得到:

PHPUnit 4.8.18 by Sebastian Bergmann and contributors.

题材消除!

因而本次的探幽索隐,现在遭逢”找不到xxx”这种主题材料的时候,首先会想起情况变量的设置。

举例消灭那一个难题的当日早上,小编想利用Visual Studio Code的Git功用,可是却得到晋升:

图片 2

率先个反应是:作者明明安装了msysgit啊。

其次个反应是:会不会是景况变量没安插?打开情况变量配置,果然未有。于是将 git.exe 所在文件夹的门径增添进去。重启Visual Studio Code,难点解决!

  1. 首先到PHPUnit官网(点此步向)下载相应的本子。php 5.5及以下版本请使用PHPUnit 4.8。得到 .phar 文件,并把名字改为 phpunit.phar

  2. 把该文件放到任性地点。以本身自身为例,作者把它内置咱们项目标目录下,即 D:repositoryCourseManagementmobile_api_test

  3. 右键 本人的微电脑 ,选择 属性 。点击左边包车型大巴 高等系统安装 。那个时候弹出 系统品质 ,选择 高级 选项卡,点击右下角的 遭受变量 。 在顾客变量里面,双击 PATH ,在 变量值 前面增多 ;D:repositoryCourseManagementmobile_api_test (注意最前面包车型地铁事务厅,路线填存放phpunit.phar的路径)。配置这几个是为着在随性所欲地方都能利用PHPUnit,不安顿来讲,须要在phpunit.phar的不二等秘书技下技术运用PHPUnit。

    合Turkey语档里有少数尚无涉及,正是php的境况变量也要安装。比方笔者的 php.exeE:softwarewampbinphpphp5.5.12 里,那么也要在 PATH 前面加多 ;E:softwarewampbinphpphp5.5.12 。PS:大概是因为本人尚未设置PHP的IDE,所以从来未曾配置它,不时之间才想到只怕要增加这些意况变量。

  4. 按飞快键 Win R ,输入cmd并回车。步入存放phpunit.phar的门道。输入

    echo @php "%~dp0phpunit.phar" %* > phpunit.cmd 并回车。接着输入 phpunit --version 并回车。借使获得输出 PHPUnit x.y.z by Sebastian Bergmann and contributors. 则表示配置好了(假使有误,输入 exit 并回车,重新来一遍)。如下图:
    图片 3

② 将 ;C:bin 附加到 PATH 意况变量中 【将 php的目录 ;E:wamp64binphpphp5.6.25 也增大到 PATH 处境变量中 】

由于我们项目事关到php,因而要求对php代码实行单元测量检验。经过一番打听,决定用PHPUnit来测量检验php。PHPUnit花了众多时刻查找怎么着计划PHPUnit,看官方网站的文书档案也是一把泪。但知情怎么布置后,其实依旧相当轻便的。

一、配置PHPUnit

assertEquals; array_push; $this->assertEquals('foo', $stack[count; $this->assertEquals; $this->assertEquals('foo', array_pop; $this->assertEquals; } }?>

C:bin>phpunit StackTest.phpPHPUnit 5.7.19 by Sebastian Bergmann and contributors.. 1 / 1 Time: 543 ms, Memory: 13.00MBOK 

二、使用PHPUnit实行测试

采取PHPUnit,必须接纳  。以login.php为例(位置在D:repositoryCourseManagementmobile_api ),大家的带头版本是如此的(迎接嘲讽本博客内的代码):

<?php

    error_reporting(0);

    $workNumber = $_POST["login-user"];
    $password = $_POST["login-password"];
    $tableName = $_POST["ident"];

    $con = mysqli_connect("localhost", "root", "", "teacher_class_system");
    if (!$con) {
        die('Could not connect: ' . mysql_error());
    } else {
        mysqli_query($con, "SET NAMES utf8");

        $result = mysqli_query($con, "SELECT * FROM $tableName where workNumber = $workNumber and password = $password");
        if (mysqli_num_rows($result) < 1) {
                echo "false";
        } else {
                $result_arr = mysqli_fetch_assoc($result);
                echo json_encode($result_arr, JSON_UNESCAPED_UNICODE);
        }
    }

    ?>

如此那般没有办法测量检验,于是举行一翻改革。首先在 login.php 所在文书夹里创建一个文书夹 classes,并在里边新建 class_login.php ,内容为 login.php 校订后的版本:

 <?php

    class Login {
        // 测试工具PHPUnit要求一定要在这里给变量默认值,于是默认为空。
        public function login($workNumber = "",$password = "",$tableName = "") {        
            $con = mysqli_connect("localhost", "root", "", "teacher_class_system");
            if (!$con) {
                die('Could not connect: ' . mysqli_error());
            } else {
                mysqli_query($con, "SET NAMES utf8");

                $result = mysqli_query($con, "SELECT * FROM $tableName where workNumber = $workNumber and password = $password");
                if (!$result || mysqli_num_rows($result) == 0) {
                    return "false";
                } else {
                    $result_arr = mysqli_fetch_assoc($result);
                    return json_encode($result_arr, JSON_UNESCAPED_UNICODE);
                }
            }
        }
    }

    ?>

除去,也要改革原本老大 login.php 的剧情,改过后如下:

  <?php
    error_reporting(0);

    require_once './classes/class_login.php';

    $workNumber = $_POST["login-user"];
    $password = $_POST["login-password"];
    $tableName = $_POST["ident"];

    $log = new Login;
    $response = $log->login($workNumber,$password,$tableName);

    if($response != "false") {
        session_start();
        $_SESSION['id']=$tableName;
    }

    echo $response;

    ?>

始发写测量试验文件

自家把测量试验文件放在 D:repositoryCourseManagementmobile_api_test 这一个文件夹内。新建二个文本 `login_test.php’ ,并写入以下代码:

  <?php 
    require_once dirname(__FILE__).'/../mobile_api/classes/class_login.php';

    class LoginTest extends PHPUnit_Framework_TestCase {
        public function testLoginSuccess() {
            $expected = '{"workNumber":"00001","password":"00001","name":"西瓜","sex":"男","birthday":"20151201","department":"计算机","telephone":"110","email":"git@github.com"}';

            $workNumber = '00001';
            $password = '00001';
            $tableName = 'user_teacher';
            $lg = new Login;
            $actual = $lg->login($workNumber,$password,$tableName);

            $this->assertEquals($expected,$actual);
        }

        function testLoginFail() {
            $expected = 'false';

            $workNumber = '11111';
            $password = '11111';
            $tableName = 'user_teacher';

            $lg = new Login;
            $actual = $lg->login($workNumber,$password,$tableName);
            $this->assertEquals($expected,$actual);
        }
    }

    ?>

推行测量检验文件

急忙键 Win 昂Cora,输入cmd并回车。步入该测量检验文件的目录,输入 phpunit login_test.php 施行测验。

图片 4

大致的测量检验就完事了。

├── phpunit.phar├── phpunit.cmd├── phpunit.xml├── build.xml├── ArrTest.php└── tmp ├── logfile.json ├── logfile.tap └── logfile.xml

  • 系统:Windows 10 专业版
  • PHP版本:PHP 5.5.12
  • 服务器工具:WAMPSE普拉多VE瑞虎 2.5
  • PHPUnit版本:PHPUnit 4.8

⑤ 创设外包覆批管理脚本(最终bin目录下会自动生成 C:binphpunit.cmd 文件):

phpunit下载网址

二、使用PHPUnit进行测量检验

③ 下载phpunit.phar 并将文件保留到 C:binphpunit.phar

*生成xml格式的日志文件

① 为 PHP 的二进制可实施文件创设三个索引,比如 C:bin

本文由betway必威发布于网页设计,转载请注明出处:下的配置及使用教程

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。