php laravel example,Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例

Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例

由 学院君 创建于5年前, 最后更新于 11个月前

版本号 #2

19627 views

14 likes

0 collects

1、概述及配置

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

backupStaticAttributes="false"

bootstrap="bootstrap/autoload.php"

colors="true"

convertErrorsToExceptions="true"

convertNoticesToExceptions="true"

convertWarningsToExceptions="true"

processIsolation="false"

stopOnFailure="false"

syntaxCheck="false">

./tests/

app/

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文件如下:

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/,页面显示如下内容:

0b85554f31ca1ac40b3b3e33a2045106.png

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

phpunit

输出结果如下:

8c393df77172a2e4760e935974bcbcbb.png

表示测试通过。

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

public function testBasicExample()

{

$this->visit('/')

->see('LaravelAcademy');

}

再次运行phpunit,则显示测试失败信息(部分截图):

486e017ece32a065d630b3b8568e7653.png

......

472ce5758fe2bc94d6214bb9592fec4b.png

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

以上只是一个简单的测试示例,更多测试方法可查看Laravel测试文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值