当前位置: 首页 > 科技观察

Windows下PHPUnit配置及使用教程

时间:2023-03-22 10:35:19 科技观察

由于我们的项目涉及到php,所以需要对php代码进行单元测试。经过一番了解,我决定使用PHPUnit来测试php。PHPUnit花了很多时间琢磨怎么配置PHPUnit,看官网的文档也是泪流满面。但是知道怎么配置之后,其实很简单。系统:Windows10专业版PHP版本:PHP5.5.12服务器工具:WAMPSERVER2.5PHPUnit版本:PHPUnit4.81.配置PHPUnit首先到PHPUnit官网(点此)下载对应版本。我们使用的是php5.5,所以选择PHPUnit4.8。获取.phar文件并将名称更改为phpunit.phar。把这个文件放在任何地方。以我自己为例,我放在我们项目的目录下,即D:\repository\CourseManagement\mobile_api_test。右击我的电脑,选择属性。单击左侧的高级系统设置。此时弹出系统属性,选择高级选项卡,点击右下角的环境变量。在user变量中,双击PATH,在变量值后添加;D:\repository\CourseManagement\mobile_api_test(注意开头的分号,填写phpunit.phar存放的路径)。这被配置为在任何地方使用PHPUnit。如果不配置,PHPUnit需要在phpunit.phar的路径下。官方文档中有一点没有提到,那就是PHP的环境变量也是必须要设置的。比如我的php.exe在E:\software\wamp\bin\php\php5.5.12,所以我还需要在PATH后面加上;E:\software\wamp\bin\php\php5.5.12。PS:可能是因为我没有安装PHP的IDE,所以一直没有配置,一不小心想到加这个环境变量。按快捷键Win+R,输入cmd回车。输入phpunit.phar存放的路径。输入echo@php"%~dp0phpunit.phar"%*>phpunit.cmd然后按Enter。然后输入phpunit--version并回车。如果得到SebastianBergmannandcontributors.的输出PHPUnitx.y.z,说明配置完成(如果有错误,输入exit回车,重新开始)。如下图所示:2.使用PHPUnit进行测试要使用PHPUnit,就必须使用类。以login.php为例(位于D:\repository\CourseManagement\mobile_api),我们的初始版本是这样的(欢迎吐槽本博客的代码):这个无法测试,所以进行修改。首先在login.php所在文件夹下新建一个classes文件夹,在里面新建一个class_login.php,内容是修改版的login.php:除此之外,也要修改原来那个login.php的内容,修改后如下:login($workNumber,$password,$tableName);if($response!="false"){session_start();$_SESSION['id']=$tableName;}echo$response;>开始写测试文件我把测试文件放在文件夹D:\repository\CourseManagement\mobile_api_test创建一个新文件`login_test.php'并写入以下代码:"00001","密码":"00001","姓名":"西瓜","性别":"男","生日":"20151201","部门":"电脑","电话":"110","email":"git@github.com"}';$workNumber='00001';$password='00001';$tableName='user_teacher';$lg=newLogin;$actual=$lg->login($workNumber,$password,$tableName);$this->assertEquals($expected,$actual);}functiontestLoginFail(){$expected='false';$workNumber='11111';$password='11111';$tableName='user_teacher';$lg=newLogin;$actual=$lg->login($workNumber,$password,$tableName);$this->assertEquals($expected,$actual);}}>执行测试文件快捷键Win+R,输入cmd回车。进入测试文件目录,输入phpunitlogin_test.php执行测试。一个简单的测试就完成了。3、摸索过程一开始我下载了PHPUnit,得到了.phar文件。我以为我需要解压它,尴尬。找了半天,找到了一个可以解压此类文件的网站(点此进入)。但是还是不行。。。按照官方文档,运行时报错:'php'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.Google搜索,Bing搜索,StackOverFlow搜索,百度搜索,找到的答案都是无用的。主要是因为他们都默认你已经配置好PHP环境变量了。。。***请问是不是之前生成的phpunit.cmd有问题?所以检查这个文件的内容。突然想到是不是PHP环境变量没有设置的原因?打开cmd并输入php--version。得到:'php'不是内部或外部命令,也不是可运行的程序或批处理文件。和上面一样的错误!果然问题就出在这里。所以添加;E:\software\wamp\bin\php\php5.5.12到环境变量。然后运行??php--version得到:PHP5.5.12(cli)(built:Apr30201411:20:58)Copyright(c)1997-2014ThePHPGroupZendEnginev2.5.0,Copyright(c)1998-2014ZendTechnologieswithXdebugv2.2.5,Copyright(c)2002-2014,byDerickRethans然后进入phpunit.cmd所在的文件夹,运行phpunit--version。获得:SebastianBergmann和贡献者的PHPUnit4.8.18。问题解决了!经过这次摸索,以后遇到“找不到xxx”的问题,首先想到的就是环境变量的设置。比如我在解决这个问题的当天下午,想使用VisualStudioCode的Git功能,结果提示:第一反应是:我明明安装了msysgit。第二个反应是:难道是环境变量没有配置好?打开环境变量配置,果然没有。所以加上git.exe所在文件夹的路径。重启visualstudiocode,问题解决!

最新推荐
猜你喜欢