测试 - Oil 套件
测试
oil test
(或 oil t
)命令运行与你的 web app、模组和套件相关的 PHPUnit 测试。关于 FuelPHP 单元测试的完整文件可以在 单元测试 文件页面找到,而关于 PHPUnit 的完整文件可以在 PHPUnit 网站找到。
配置
Oil 实用工具本身不需要太多配置,但如果在你机器上的 PHPUnit 实例不是全域安装(例如,如果你使用 Composer 安装 PHPUnit 到你的专案),你会想要配置 Oil 来解决你的 PHPUnit 安装。在 app/config/oil.php
建立(或从 Oil 套件複製)一个配置档案,并根据需要变更这些设定:
PHPUnit 配置
参数 | 类型 | 预设 | 描述 |
---|---|---|---|
phpunit.autoload_path | 字串 |
| 指向 PHPUnit Autoload 档案的路径。 |
phpunit.binary_path | 字串 |
| 这是运行 PHPUnit 命令(如果需要的话,包含完整路径)的可执行文件。 |
命令列选项
测试支援几个 PHPUnit 命令列选项:
--file=<file>
只在指定的档案运行测试。
--group=<group>
只在指定的群组(们)运行测试。
--testsuite=<testsuite>
只运行指定测试套装(们)的测试。
--exclude-group=<group>
从指定的群组(们)排除测试。
--coverage-clover=<file>
产生 Clover XML 格式的程式码覆盖率报告。
--coverage-html=<dir>
产生 HTML 格式的程式码覆盖率报告。
--coverage-php=<file>
序列化 PHP_CodeCoverage 物件到档案。
--coverage-text=<file>
产生文本格式的程式码覆盖率报告。
--log-junit=<file>
产生执行在 JUnit XML 格式的测试报告到档案。
--debug
在测试执行过程显示除错资讯。
更多关于这些命令列选项以及它们所处理的资讯,请见 PHPUnit 文件。
PHPUnit 测试运行配置
预设情况下,Oil 将传递位于 COREPATH
目录中的 phpunit.xml
测试运行配置档案给 PHPUnit。
Fuel 在 fuel/core/phpunit.xml
的基本 phpunit.xml 包含:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true" stopOnFailure="false" bootstrap="../core/bootstrap_phpunit.php">
<php>
<server name="doc_root" value="../../"/>
<server name="app_path" value="fuel/app"/>
<server name="core_path" value="fuel/core"/>
<server name="package_path" value="fuel/packages"/>
</php>
<testsuites>
<testsuite name="core">
<directory suffix=".php">../core/tests</directory>
</testsuite>
<testsuite name="packages">
<directory suffix=".php">../packages/*/tests</directory>
</testsuite>
<testsuite name="app">
<directory suffix=".php">../app/tests</directory>
</testsuite>
</testsuites>
</phpunit>
如果你需要更改这个配置档案,将它複製到你的 APPPATH
目录并编辑它。Oil 才能够识别代替预设的新配置档案,并使用你自订的配置。
例如,如果你在 Modules 开发,你可能需要以下额外的测试组在你自订的测试配置档案:
<testsuite name="modules">
<directory suffix=".php">../modules/*/tests</directory>
</testsuite>