PHPUNIT 单元测试

在windows上的安装可以参考其手册

首先下载phpunit.phar文件

1. 为php的二进制可执行文件建立 一个目录,如C:\bin

2. 将C:\bin添加到系统环境变量中,

3. 打开命令行cmd

4. 新建批处理脚本,C:\bin\phpunit.cmd

cd C:\bin

echo @php "%~dp0phpunit.phar" %* > phpunit.cmd

exit

在命令提示符后执行以上命令后,会在C:\bin目录下生成 phpunit.cmd文件

5. 打开一个新窗口后,确认一下PHPUNIT在任意路径下可以执行

  

C:\Users\username> phpunit --version
PHPUnit x.y.z by Sebastian Bergmann.

有此提示后说明PHPUNIT安装成功。

二、编写PHPUNIT测试用例

  用PHPUNIT测试数组操作

  1.针对类 Class 的测试写在类 ClassTest 中。
  2.ClassTest(通常)继承自 PHPUnit_Framework_TestCase。
  3.
  4.在测试方法内,类似于 assertEquals()(参见附录 A, 断言)这样的断言方法用来际值与预期值的匹配做出断言。

例 2.1. 用 PHPUnit 测试数组操作

<?php
class StackTest extends PHPUnit_Framework_TestCase
{
    public function testPushAndPop()
    {
        $stack = array();
        $this->assertEquals(0, count($stack));
        array_push($stack, ‘foo‘);
        $this->assertEquals(‘foo‘, $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));
        $this->assertEquals(‘foo‘, array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}
?>

例子中我使用断言的方法assertEquals来断言我期待$stack相关的值

注意代码中高亮的方法indexEquals,它并没有使用test开头,但是我在注释中增加了@test标签,那么phpunit依然会将其作为一个测试方法运行,下面我们来运行方法和运行结果

进入命令行,使用phpunit StackTest来执行StackTest.php的测试,运行结果如下:

。。。。

详细的使用可以参考官方手册。

时间: 2024-08-01 06:54:01

PHPUNIT 单元测试的相关文章

PHPUnit单元测试

单元测试 PHPUnit <?php /** * 定义一个用来被测试的类RemoteConnect * @author json * */ class RemoteConnect{ public function connectServer($serverName = null){ if($serverName == null){ throw new Exception("This is not a server name!"); } $fp = fsockopen($serve

thinkphp5 phpunit 单元测试测试流程说明

E:\wamp\www\save\tp5_composer\thinkphp\tests>..\vendor\bin\phpunit.bat --bootstrap mock.php thinkphp\library\think\log\driver\fileTest.php 执行结果: PHPUnit 4.8.23 by Sebastian Bergmann and contributors. . Time: 395 ms, Memory: 3.50Mb OK (1 test, 1 asser

PhpStorm 配置 PHPUnit

配置说明 全局安装phpunit代码 composer global require phpunit/phpunit 该代码会自动保存在 /User/你的用户名/.composer/vendor/phpunit 全局安装phpunit命令脚本 从上一步安装结果可以得知当前环境PHP版本可兼容的phpunit的版本,我这里的PHP是5.6的,最大可兼容phpunit5.7 wget https://phar.phpunit.de/phpunit-5.7.phar chmod +x phpunit-

Linux_Geany使用指南

eany 是一个轻快的高级文本编辑器,仅仅依赖几个其他的软件包.Geany 仅使用 GTK2 工具包,因此您只需要 GTK2 运行库即可运行. Ubuntu用户通过添加PPA源安装最新版Geany: sudo add-apt-repository ppa:geany-dev/ppa sudo apt-get update sudo apt-get install geany geany-plugins lxterminal 因为Geany不支持Gnome3和KDE的终端,所以需要安装一个lxte

Ubuntu上把Geany配置成好用的PHP开发工具

Ubuntu用户通过添加PPA源安装最新版Geany: sudo add-apt-repository ppa:geany-dev/ppa sudo apt-get update sudo apt-get install geany geany-plugins lxterminal 因为Geany不支持Gnome3和KDE的终端,所以需要安装一个lxterminal作为Geany内置的终端. 在菜单"编辑-首选项-虚拟终端"里可以设置终端的字体,前景色,背景色等. 编辑器字体和终端字体

[1.30] 保持的力量:接口开发最佳实践

神啊,求你赐给我平静的心,去接受我无法改变的事:赐给我勇气,去做我能改变的事:赐给我智慧,去分辨两者的不同. --平静之祷 1.30.1 论保持的力量 追到一个心仪的女生不难,难于如何保持和培养一份真挚的感情:获得一时的财富也不难,难于如何长久保持收益:创业的公司很容易博得一时媒体的关注以及某次天使的投资,但难于如何排除各种障碍.充分利用各方资源发展成中企业及至上市公司. 同样,提供一时的接口很容易,但当我们需要不断为接口提供升级,以及当我们维护提供一整套接口时,面临的困难和问题会越来越大.所以

作为一名web开发人员, 迄今为止接触到的技术.

web开发究竟有没有个固定的范围呢? 以下是做开发至今接触到的技术, 不幸的是, 至今接触到的技术都没有进行深入研究, 知识停留较浅显的level. 不过, <<充满挑战, 世界才精彩>> 前台: HTML4.0 - HTML5 CSS2.0 - CSS3.0 JavaScript 服务器: Apache2.2 - Apache2.4 Nodejs 服务器语言: PHP Java 数据库: Mysql Cassandra 操作系统: Windows XP-7 Linux (主要是u

PHPUnit-函数依赖-数据提供-异常-忽略-自动生成

本文目的 本文目的是收录一些PHPUnit的有用技巧,这些技巧能够为给PHPUnit单元测试带来很多便利.本文将要介绍的技巧如下: 函数依赖测试 数据提供函数 异常测试 跳过忽略测试 自动生成测试框架 函数依赖测试 有时候,类中的函数有依赖,而且你的逻辑需要被依赖函数正确执行,此时,你可以通过phpunit的依赖标签显示的标明这种依赖关系,如果任意被依赖的函数执行失败,那么依赖函数将会被自动跳过.如下所示代码(dependenceDemo.cpp): 1 <?php 2 class Depend

国外PHP学习网站书籍资料汇总

PHP网站 --PHP相关的有帮助的网站PHP The Right Way: 一个PHP实践的快速参考指导PHP Best Practices: PHP最佳实践指导PHP Weekly: 一个PHP新闻周刊PHP Security: PHP安全方面的指导PHP FIG: PHP框架交互组PHP UG: 一个帮助人们定位最近PHP用户组的网站Seven PHP: 一个采访PHP社区用户的网站Nomad PHP: 在线的PHP学习资源PHP Mentoring: 点对点的PHP指导组织 其它网站 -