下的陈设及应用教程2020欧洲杯冠军竞猜官方网站

时间:2020-03-24 15:24来源:2020欧洲杯冠军竞猜官方网站
由于大家项目事关到php,由此供给对php代码举办单元测量检验。经过一番打听,决定用PHPUnit来测验php。PHPUnit花了不菲光阴查找如何安顿PHPUnit,看官方网址的文书档案也是一把泪。但知

由于大家项目事关到php,由此供给对php代码举办单元测量检验。经过一番打听,决定用PHPUnit来测验php。PHPUnit花了不菲光阴查找如何安顿PHPUnit,看官方网址的文书档案也是一把泪。但知道怎么布署后,其实仍然相当轻易的。

一、配置PHPUnit

正文实例陈述了Windows下wamp php单元测量试验工具PHPUnit安装及变化日志文件配置情势。分享给我们供我们参谋,具体如下:

  • 系统:Windows 10 专业版
  • PHP版本:PHP 5.5.12
  • 服务器工具:WAMPSEWranglerVE宝马7系 2.5
  • PHPUnit版本:PHPUnit 4.8
  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。

    合匈牙利(Magyarország卡塔尔(قطر‎语档里有一点点从未关联,正是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 并回车,重新来一回)。如下图:
    2020欧洲杯冠军竞猜官方网站 1

phpunit下载网址

一、配置PHPUnit

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

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

右键 自己的微处理机 ,选择 属性 。点击右边的 尖端系统设置 。那时候弹出 系统性子 ,选择 高级 选项卡,点击右下角的 情状变量 。 在客户变量里面,双击 PATH ,在 变量值 前边增多;D:repositoryCourseManagementmobile_api_test2020欧洲杯冠军竞猜官方网站, (注意最前面包车型客车分集团,路径填存放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 并回车,重新来三遍)。如下图:

2020欧洲杯冠军竞猜官方网站 2

转自:

一、安装PHPUnit

二、使用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 Escort,输入cmd并回车。步入该测量试验文件的目录,输入 phpunit login_test.php 执行测量试验。

2020欧洲杯冠军竞猜官方网站 3

简易的测验就瓜熟蒂落了。

1.增选版本

三、查究进度

一发轫下载PHPUnit,得到 .phar 文件,感到要解压,囧。找了半天才开掘存三个可以知道解压这种文件的网址(点此踏入)。但是并不曾什么用……

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

‘php’ 不是中间或外界命令,亦不是可运维的次第
或批管理公事。

谷歌找出,必应搜索,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效能,但是却赢得晋升:

2020欧洲杯冠军竞猜官方网站 4

首先个反应是:笔者明显安装了msysgit啊。

第二个反应是:会不会是碰到变量没安顿?张开蒙受变量配置,果然未有。于是将 git.exe 所在文件夹的路线增添进去。重启Visual Studio Code,难点解决!

自己用的是php版本是5.6.25 所以小编选择的是PHPUnit 5.7

2.安装进程

① 为 PHP 的二进制可实行文件建构一个目录,举例 C:bin

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

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

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

C:Usersusername> cd C:binC:bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmdC:bin> exit

⑥ 【注意下载下来平常是phpunitx-y.phar,带本子号的 所以要去掉版本号 更正文件名称为 phpunitx.phar】

⑦ 新开一个CMD命令行窗口,确认一下足以在随便路线下进行 PHPUnit:

C:bin>phpunit --versionPHPUnit 5.7.19 by Sebastian Bergmann and contributors.

二、使用PHPUnit举办测验

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

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 生成三种日志文件的配备方式

#目录构造 windows

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

#日志XML文件配置 新建文件 build.xml 放置在根目录

*生成xml格式的日记文件

phpunit --log-junit tmp/logfile.xml ArrTest.php

*生成tap格式的日记文件

phpunit --log-tap tmp/logfile.tap ArrTest.php

*生成json格式的日记文件

phpunit --log-json tmp/logfile.json ArrTest.php

更加的多关于PHP相关内容感兴趣的读者可查看本站专项论题:《PHP错误与丰裕管理方法计算》、《php字符串用法总括》、《PHP数组操作本领大全》、《PHP运算与运算符用法总计》、《PHP互连网编制程序本领计算》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php特出开荒框架总括》

盼望本文所述对我们PHP程序设计有所帮忙。

编辑:2020欧洲杯冠军竞猜官方网站 本文来源:下的陈设及应用教程2020欧洲杯冠军竞猜官方网站

关键词: 欧洲杯竞猜