概念
所谓「单元」指的就是代码区块,比如一个函数、一个类以及类的方法都是代码区块。单元测试这种软件测试方法就是用来检查指定的一个代码区块是否能够按照预期输出结果,单元测试一般通过编写独立的测试用例来完成。
linux安装phpunit应用程序:
$ wget https://phar.phpunit.de/phpunit-7.0.phar $ chmod +x phpunit-7.0.phar $ sudo mv phpunit-7.0.phar /usr/local/bin/phpunit $ phpunit --version PHPUnit x.y.z by Sebastian Bergmann and contributors.
Laravel说明及安装
Laravel 植根于测试,实际上,内置使 PHPUnit 对测试提供支持是开箱即用的,并且 phpunit.xml 文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。
默认情况下,tests 目录包含了两个子目录:Feature 和 Unit,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。功能测试可用于测试较大区块的代码,包括若干组件之前的交互,甚至一个完整的HTTP请求。
Feature 和 Unit 测试目录下都提供了ExampleTest.php 文件,安装完新的 Laravel 应用后,只需在项目根目录下简单运行 phpunit 即可运行测试(如果提示找不到命令,可以通过 cp vendor/bin/phpunit ./ 将命令拷贝过来):
本片篇讲Laravel使用
创建 & 运行测试
make:test
// 在 Feature 目录下创建测试类... php artisan make:test UserTest
// 在 Unit 目录下创建测试类... php artisan make:test UserTest --unit
运行方法:
./phpunit 目标文件
错误信息
报错代码 |
错误信息 |
. |
运行过程中一个断言成功时输出 |
F |
运行过程中一个断言失败时输出 |
E |
运行过程中产生一个错误时输出 |
R |
被标记为有风险时输出 |
S |
被跳过时输出 |
I |
被标记为不完整或未实现时输出 |
w |
运行过程中产生一个警告 |
断言方法
expectOutputS