3. 命令行测试执行器
最后更新于:2022-04-01 03:44:40
# 第 3 章 命令行测试执行器
PHPUnit 命令行测试执行器可通过 `phpunit` 命令调用。下面的代码展示了如何用 PHPUnit 命令行测试执行器来运行测试:
~~~
phpunit ArrayTest
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
..
Time: 0 seconds
OK (2 tests, 2 assertions)
~~~
上面这个调用例子中,PHPUnit 命令行测试执行器将在当前工作目录中寻找 `ArrayTest.php` 源文件并加载之。而在此源文件中应当能找到 `ArrayTest` 测试用例类,此类中的测试将被执行。
对于每个测试的运行,PHPUnit 命令行工具输出一个字符来指示进展:
`.` 当测试成功时输出。
`F` 当测试方法运行过程中一个断言失败时输出。
`E` 当测试方法运行过程中产生一个错误时输出。
`R` 当测试被标记为有风险时输出(参见[Chapter 6, *有风险的测试*](# "Chapter 6. 有风险的测试"))。
`S` 当测试被跳过时输出(参见[Chapter 7, *未完成的测试与跳过的测试*](# "Chapter 7. 未完成的测试与跳过的测试"))。
`I` 当测试被标记为不完整或未实现时输出(参见[Chapter 7, *未完成的测试与跳过的测试*](# "Chapter 7. 未完成的测试与跳过的测试"))。
PHPUnit 区分 失败(failure)*与*错误(error)。失败指的是被违背了的 PHPUnit 断言,例如一个失败的 `assertEquals()` 调用。错误指的是意料之外的异常(exception)或 PHP 错误。这种差异已被证明在某些时候是非常有用的,因为错误往往比失败更容易修复。如果得到了一个非常长的问题列表,那么最好先对付错误,当错误全部修复了之后再试一次瞧瞧还有没有失败。