@@ -58,21 +58,21 @@ Laravel 测试目录结构
58
58
59
59
#### 通用配置
60
60
61
- 首先来看 phpunit 元素上的属性,其中很多属性其实都可以在执行 phpunit 命令时通过命令行参数的形式传入,但是如果参数太多,且每次传入参数都是一样的,显然配置到 phpunit.xml 中更方便,也更加易于维护,PHPUnit 执行的命令行参数可以在这里查看,或者通过 phpunit --help 在命令行查看:
61
+ 首先来看 phpunit 元素上的属性,其中很多属性其实都可以在执行 phpunit 命令时通过命令行参数的形式传入,但是如果参数太多,且每次传入参数都是一样的,显然配置到 phpunit.xml 中更方便,也更加易于维护,PHPUnit 执行的命令行参数可以在这里查看,或者通过 ` phpunit --help ` 在命令行查看:
62
62
63
- - backupGlobals 属性对应命令行参数里的 --globals-backup,用于在每个测试中备份和恢复 PHP 超全局变量 $GLOBALS,这里设置为 false 表示不做相应的备份和恢复操作。
64
- - backupStaticAttributes 属性对应命令行参数里的 static-backup,用于在每个测试中备份和恢复静态属性,这里设置为 false 表示不做相应的备份和恢复操作。
65
- - bootstrap 属性对应命令行参数里面的 --bootstrap <file >,用于指定测试运行前需要引入的文件,这里配置为 vendor/autoload.php 表示会引入 Composer 自动加载和管理的所有依赖,以便在测试文件中使用。
66
- - colors 属性对应命令行参数里的 --colors=<flag >,用于指示在输出中是否用颜色进行标识。
67
- - processIsolation 属性对应命令行参数里的 --process-isolation,用于表示是否在隔离的 PHP 进程中执行测试。
68
- - stopOnFailure 属性对应命令行参数里的 --stop-on-failure,用于表示测试出错或失败时是否退出脚本执行,配置为 false 表示不退出。
63
+ - ` backupGlobals ` 属性对应命令行参数里的 --globals-backup,用于在每个测试中备份和恢复 PHP 超全局变量 $GLOBALS,这里设置为 false 表示不做相应的备份和恢复操作。
64
+ - ` backupStaticAttributes ` 属性对应命令行参数里的 static-backup,用于在每个测试中备份和恢复静态属性,这里设置为 false 表示不做相应的备份和恢复操作。
65
+ - ` bootstrap ` 属性对应命令行参数里面的 --bootstrap <file >,用于指定测试运行前需要引入的文件,这里配置为 vendor/autoload.php 表示会引入 Composer 自动加载和管理的所有依赖,以便在测试文件中使用。
66
+ - ` colors ` 属性对应命令行参数里的 --colors=<flag >,用于指示在输出中是否用颜色进行标识。
67
+ - ` processIsolation ` 属性对应命令行参数里的 --process-isolation,用于表示是否在隔离的 PHP 进程中执行测试。
68
+ - ` stopOnFailure ` 属性对应命令行参数里的 --stop-on-failure,用于表示测试出错或失败时是否退出脚本执行,配置为 false 表示不退出。
69
69
70
70
接下来是一些不能通过命令行参数指定的属性:
71
71
72
- - ` convertErrorsToExceptions ` 属性用于定义是否将 PHP ERROR 级别错误转化为异常,默认会转化为异常的错误类型包括:` E_WARNING、E_NOTICE ` 、E_USER_ERROR、 E_USER_WARNING、 E_USER_NOTICE、 E_STRICT、 E_RECOVERABLE_ERROR、 E_DEPRECATED、 E_USER_DEPRECATED,这里将该属性设置为 true 表示启用该功能。
73
- - convertNoticesToExceptions 属性用于定义是否将 PHP NOTICE 级别错误转化为异常,设置为 true 表示会将 E_NOTICE、 E_USER_NOTICE、 E_STRICT 三种级别错误转化为异常。
74
- - convertWarningsToExceptions 属性用于定义是否将 PHP WARNING 级别错误转化为异常,设置为 true 表示会将 E_WARNING 或 E_USER_WARNING 级别错误转化为异常。
75
- 当然,这里只包含了 PHPUnit 所支持的 phpunit 配置的一部分属性,更多配置请参考官方文档 及 PHPUnit 命令行参数配置。
72
+ - ` convertErrorsToExceptions ` 属性用于定义是否将 PHP ERROR 级别错误转化为异常,默认会转化为异常的错误类型包括:` E_WARNING、E_NOTICE ` 、` E_USER_ERROR ` 、 ` E_USER_WARNING ` 、 ` E_USER_NOTICE ` 、 ` E_STRICT ` 、 ` E_RECOVERABLE_ERROR ` 、 ` E_DEPRECATED ` 、 ` E_USER_DEPRECATED ` ,这里将该属性设置为 ` true ` 表示启用该功能。
73
+ - ` convertNoticesToExceptions ` 属性用于定义是否将 ` PHP NOTICE ` 级别错误转化为异常,设置为 ` true ` 表示会将 ` E_NOTICE ` 、 ` E_USER_NOTICE ` 、 ` E_STRICT ` 三种级别错误转化为异常。
74
+ - ` convertWarningsToExceptions ` 属性用于定义是否将 ` PHP WARNING ` 级别错误转化为异常,设置为 ` true ` 表示会将 ` E_WARNING ` 或 ` E_USER_WARNING ` 级别错误转化为异常。
75
+ 当然,这里只包含了 ` PHPUnit ` 所支持的 phpunit 配置的一部分属性,更多配置请参考官方文档 及 PHPUnit 命令行参数配置。
76
76
77
77
#### 测试套件
78
78
接下来,我们看 Laravel 框架为我们默认配置的测试套件,它们定义在子元素 <testsuites > 中,在 PHPUnit 中,我们可以像上篇教程那样配置单个 <testsuite >,也可以像 Laravel 框架这样通过 <testsuites > 配置多个 <testsuite >,这取决于项目的复杂度或者你的需求。
0 commit comments