本文实例讲述了PHP单元测试PHPUnit简单用法。分享给大家供大家参考,具体如下:
windows开发环境下,PHP使用单元测试可以使用PHPUnit。
安装
首先下载PHPUnit,官网:https://phpunit.de/ 根据自己的PHP版本下载对应的PHPUnit版本,我本地是PHP5.5,所以这里我下载PHPUnit4.8。下载完成得到phpunit-4.8.35.phar文件,放到任意目录,这边我放到D:\phpunit下,并把文件名改为:phpunit.phar 。配置环境变量:右击我的电脑-》属性-》高级系统设置-》环境变量-》编辑path在最后添加phpunit.phar的路径,这里我是D:\phpunit,所以在最后添加D:\phpunit 。
打开命令行win+R输入cmd,进入到D:\phpunit
cd /d D:\phpunit
安装phpunit
echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
查看是否安装成功
phpunit --version
如果显示phpunit的版本信息,说明安装成功了,这边我显示:PHPUnit 4.8.35 by Sebastian Bergmann and contributors.
测试
先写一个需要测试的类,该类有一个eat方法,方法返回字符串:eating,文件名为Human.php
<?php class Human { public function eat() { return 'eating'; } }
再写一个phpunit的测试类,测试Human类的eat方法,必须引入Human.php文件、phpunit,文件名为test1.php
<?php include 'Human.php'; use PHPUnit\Framework\TestCase; class TestHuman extends TestCase { public function testEat() { $human = new Human; $this->assertEquals('eating', $human->eat()); } } ?>
其中assertEquals方法为断言,判断eat方法返回是否等于'eating',如果返回一直则成功否则返回错误,运行测试:打开命令行,进入test1.php的路径,然后运行测试:
phpunit test1.php
返回信息:
PHPUnit 4.8.35 by Sebastian Bergmann and contributors.
.
Time: 202 ms, Memory: 14.75MB
OK (1 test, 1 assertion)
则表示断言处成功,即返回值与传入的参数值一致。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php优秀开发框架总结》
希望本文所述对大家PHP程序设计有所帮助。
我试图在我的项目中使用JerseyTest框架添加ReST调用的单元测试。我复制粘贴了一个最简单的示例,但出现了一个运行时异常: 附加代码和pom依赖项:
thinkphp8 怎么用phpunit 做单元测试?
本文向大家介绍Windows下安装PHP单元测试环境PHPUnit图文教程,包括了Windows下安装PHP单元测试环境PHPUnit图文教程的使用技巧和注意事项,需要的朋友参考一下 1、按照常规下载 php 的zip包和配置好 php.ini,这里的例子使用的是 E:\php 2、把你的 php 目录加入系统环境变量 path 中 3、开始 运行 输入 cmd,然后切换到你的 php 目录,我当
我不熟悉匕首。我创建了一个非常简单的单元测试,试图理解我应该如何使用dagger。不幸的是,它失败了。我可能还不了解匕首的一些基本原理。 而我的测试课失败了 我认为dagger会将B注入A,因为A希望注入B,DaggerModule包含一个@Providers注释方法,该方法创建B。 更新: 我发现当我像这样编写模块类时 将B注入A作品中。然而,我不理解为什么当模块有一个构造a实例的带注释的方法时
我是新来的单元测试,我试图运行一个简单的测试,但按下"运行测试"按钮后,它的负载,然后什么都没有 怎么了????!!
问题内容: 我奋力奔跑名为单个测试方法在文件中使用。我尝试了以下组合: 在每种情况下, 都将执行文件中的 所有 测试方法。如何只选择一种方法呢? 该类的名称为,版本为3.2.8。 问题答案: 以下命令在单个方法上运行测试: 对于新版本的phpunit,它只是: