教程 > laravel 教程 > 阅读:28

测试 快速入门——迹忆客-ag捕鱼王app官网

简介

laravel 内置了测试功能,使用 phpunit 来进行单元测试,并且 phpunit.xml 文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。

默认情况下,tests 目录包含了两个子目录:featureunit,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。功能测试可用于测试较大区块的代码,包括若干组件之前的交互,甚至一个完整的http请求。

featureunit 测试目录下都提供了exampletest.php 文件,安装完新的 laravel 应用后,只需在项目根目录下简单运行 phpunit 即可运行测试(如果提示找不到命令,可以通过 cp vendor/bin/phpunit ./ 将命令拷贝过来):


环境

运行测试的时候,laravel 会自动设置环境为 testing,这是因为 phpunit.xml 中定义了环境变量。laravel 在测试时还会自动配置 session 和缓存驱动为 array,这意味着测试时不会持久化存储会话和缓存。

如果需要的话,我们也可以定义其它测试环境配置值。testing 环境变量可以在 phpunit.xml 文件中配置,但是要确保在运行命令之前使用 artisan 命令 config:clear 清除配置缓存。

此外,我们还可以在项目根目录下创建一个 .env.testing 文件,该文件会在运行 phpunit 测试或执行带 --env=testing 开关的 artisan 命令时覆盖 .env 文件中的环境变量。


创建 & 运行测试

要创建一个新的测试用例,可以使用artisan 命令 make:test:

# create a test in the feature directory...
$ php artisan make:test usertest
# create a test in the unit directory...
$ php artisan make:test usertest --unit

创建完测试类后,就可以像使用 phpunit 一样定义测试方法,要运行测试,只需在终端执行 phpunit 命令即可:

asserttrue(true);
    }
}

注:如果在测试类中定义了自己的 setup/teardown 方法,确保在该方法中调用了 parent::setup()/parent::teardown()

artisan 测试运行器

除了 phpunit 之外,我们还可以使用 artisan 命令 test 来运行测试,该命令提供了更多当前运行测试的信息,并且会在第一个测试失败时自动停止:

$ php artisan test

所有 phpunit 支持的命令同样也可以传递给 artisan test 命令:

$ php artisan test --group=feature

查看笔记

扫码一下
查看教程更方便
网站地图