PHPUnit 安装步骤与单元测试例子

1、概述及配置
Laravel 中集成了PHPUnit进行单元测试,实际上,使用PHPUnit进行单元测试在Laravel中是开箱即用的,测试的配置文件为根目录下的phpunit.xml,该配置文件为我们做好了所有配置工作:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="bootstrap/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false">
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>./tests/</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist>
            <directory suffix=".php">app/</directory>
        </whitelist>
    </filter>
    <php>
        <env name="APP_ENV" value="testing"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="sync"/>
    </php>
</phpunit>
testsuites中定义了测试文件存放路径为根目录下的tests目录。

filter中定义了需要进行单元测试的PHP文件存放位置。

php中配置了测试环境的环境变量,默认APP_ENV为testing,缓存驱动被设置为array,Session驱动被设置为array,队列驱动被设置为sync。

2、安装PHPUnit
使用Laravel的测试功能之前需要先安装PHPUnit,以Homestead虚拟机为例,安装步骤如下:

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/local/bin/phpunit
然后查看PHPUnit的版本验证是否安装成功:

phpunit --version
3、使用PHPUnit实现简单测试
接下来我们使用Laravel提供的ExampleTest.php实现简单单元测试,首先我们修改tests目录下的ExampleTest.php文件如下:

<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class ExampleTest extends TestCase
{
    /**
     * A basic functional test example.
     *
     * @return void
     */
    public function testBasicExample()
    {
        $this->visit('/')
            ->see('Laravel学院');
    }
}
其中visit方法用于访问指定路由页面,see方法则判断返回响应中是否包含指定字符串。

然后在routes.php中确保包含如下路由(如果没有的话添加该路由):

Route::get('/',function(){
    return view('welcome');
});
访问http://laravel.app:8000/,页面显示如下内容:

Laravel学院测试应用首页

然后到项目根目录下运行如下命令:

phpunit
输出结果如下:

表示测试通过。

接下来我们修改ExampleTest.php测试方法如下:

public function testBasicExample()
{
    $this->visit('/')
        ->see('LaravelAcademy');
}
再次运行phpunit,则显示测试失败信息(部分截图):

 

 

……

 

测试结果会显示错误数目,错误位置及错误原因,方便我们快速定位错误并进行修复。

时间: 2024-09-20 07:06:27

PHPUnit 安装步骤与单元测试例子的相关文章

AADL-osate安装步骤拿稳大神帮个忙

问题描述 AADL-osate安装步骤拿稳大神帮个忙 那位大神了解AADL-OSATE的吗,能把安装步骤告诉一下吗?急急急!!先谢了!由于没有钱币不,悬赏不了,只求好心人帮个忙 解决方案 http://wenku.baidu.com/link?url=PJ2l3wDqG4oKU3c7ZoFJwtEN4VL76d9Bn8sbwQQuEVhgD7YKmDm51qiJRiAfkNGl1g_0lztGf0ae8fuZpGSoeghQoN5wFhlXMUc6GJS9tfC

Informix SE for Linux安装步骤

本文的InformixseforLinux是已编译后的版本: 安装步骤如下 服务器环境:TurboLinux4.0中文版,kernel2.2.10,64M,Pentium90以SE为例,ESQL/C是sql嵌入C的开发工具,CONNECT没用过,那位朋友配好了记的告诉我一声.(假定您的服务器叫linux,并决定使用linux_se做SE服务器名) 1.建立groupinformix,gid在200以下 2.建立用户informix,属组为informix,uid在200以下 3.修改inform

sass安装教程:ruby安装步骤和sass安装步骤

文章简介:因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby. ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量,不然以后使用编译软件的时候会提示找不到ruby环境 sass安装 如果你喜欢偷懒,或者你公司网络限制比较多,请直接看最后一段 安装完ruby之后,在开始菜单中,找到刚才我们安装

qmail+vpopmail+sqwebmail的安装步骤(8)

web #chmod ugo+r signup.conf 拷贝vqsignup_html目录到cgi-bin目录下,确信对所有用户可读 拷贝vqsignup.html文件到DocumentRoot目录下,确信能够被访问. 编辑cgi-bin目录下的vqsignup.conf文件 修改"add_domain"的所有行,加上你的真实的域,把其他的行删除掉 更改vqsignup_text/*.html文件,使包含"result_*"的行的路径指到正确的全路经. 修改vqs

oracle8i在linux9的安装步骤

oracle 本安装步骤是经过本人数天的实践和参考其他网友的文档综合而成,只用于在REDHAT LINUX 9.0 上安装oracle 8.1.7之用.在此对那些网友表示衷心感谢. 步骤1:准备软件 下载JDK,sun网站上1.4,1.3都可. 下载oracle的补丁:glibc-2.1.3-stubs.tar.gz 下载glibc-2.1: i386.glibc-2.1-linux.tar.gz 下载binutils:binutils-2.10.91.0.2-3.i386.rpm 上述软件包请

oracle8.16在RedHat7.1上的安装步骤

oracle 各位网友大家好,oracle在linux上安装的文章在网上随处可见.但没有一篇能让读者按照文章一次安装成功的.说实话,我自己参考了网上文章安装了n次才成功的,深感安装其的痛苦,为了让新的朋友不在有我的痛苦我决心写下这篇文章把我安装的全过程告诉大家并尽可能细化不让细节把大家难住.My name is xiyuxi my mail is sybase8@163.net 由于水平有限如有疏漏,请见谅, 如果大家有什么建议或不明之处请mail me. 祝大家交好运一次安装成功. 安装步骤如

solaris8安装步骤

2.1.1 安装步骤 1)  插入Sun Solaris 8光盘第一张: 2)  如果没有显示器/键盘,则使用Windows下的超级终端通过串口利用安装前的准备工作中所介绍的转接线连到Sun机器上.运行超级终端时,在连接时使用:选项下选择直接连接到串口1,波特率选9600,再确定即开始连接,按回车键即可看到console login:的提示符: 3)  用超级用户root身份登录或以其它用户身份登录,再用su命令切换到超级用户身份,root用户的口令请向系统管理员查询: 4)  halt 5)

qmail+vpopmail+sqwebmail的安装步骤

qmail+vpopmail+sqwebmail是非常优秀的Web mail解决方案,本文将详细介绍具体的安装过程,希望可以帮助你顺利实现Web mail系统. 一. 安装环境 安装平台:RedHat Linux 安装的机器: mail.mydomain.com 软件包: qmail-1.03 qmail基本系统ucspi-tcp-0.88 tcpsever等服务程序daemontools-0.70监视工具checkpassword-0.81 pop3验证用户的程序ezmlm-0.53 邮件列表

Tapestry 5单元测试例子

我们另一个方面可以测试模板文件,模板文件就是HTML文件,在HTML文件中可能涉及到测试: *页面字段显示测试 *测试link动作 *测试表单提交form 1. 页面字段显示测试 在我们第1章的Start模板主要是断言显示"Hello World!"字符串.测试程序如清单2.5所示. package com.kingbegin.web.pages; import org.apache.tapestry.dom.Document; import org.apache.tapestry.t