halleck45 / mutatesting
PHP 的突变测试工具
0.0.2
2014-06-12 11:45 UTC
Requires
- php: >=5.3
- halleck45/php-metrics: master
- sebastian/diff: 1.0.*@dev
- symfony/config: ~2.0
- symfony/console: ~2.0
- symfony/event-dispatcher: ~2.0
- symfony/process: ~2.0
- twig/twig: 1.15
Requires (Dev)
- phpunit/phpunit: 3.7.*@dev
This package is auto-updated.
Last update: 2024-09-18 00:08:42 UTC
README
PHP 的突变测试工具。
根据 Wikipedia
突变测试(或突变分析或程序突变)评估软件测试的质量。突变测试涉及以小方式修改程序的源代码或字节码。
MutaTesting 支持 PHPUnit 和 atoum。您可以创建任何 PHP 测试框架的适配器。
## 要求
您只需要 PHP 5.3。不需要特定的 PHP 扩展...
安装
### 作为 Phar 归档
只需下载 Phar 归档,然后运行以下命令
php mutatesting.phar {tool} {binary} {test directory}
使用 Composer
编辑您的 composer.json
"require": { "halleck45/mutatesting" : "@dev" }
然后运行 Composer
php composer.phar update halleck45/mutaTesting
用法
./bin/mutatesting {tool} {binary} {test directory}
PHPUnit 的示例
./bin/mutatesting phpunit phpunit.phar myTestFolder
atoum 的示例
./bin/mutatesting atoum mageekguy.atoum.phar myTestFolder
注意,您不需要使用 atoum 的 -d
或 -f
选项...
高级用法
策略
为了避免有太多的突变,MutaTesting 使用 PhpMetrics 来估算每个测试文件的错误数量,并且只关注包含更多异常的文件。
您可以使用 --bugs
选项来定义限制。
例如,--bugs=".6"
表示只有当测试文件中至少有 0.6 个估计的错误时,才会保留突变。
格式化器
要生成 HTML 报告文件,您需要使用 --report-html
选项。
./bin/mutatesting {tool} {binary} {test directory} --report-html=/tmp/file.html
测试选项
如果您的测试需要选项,您可以使用 --options
传递它们
./bin/mutatesting phpunit phpunit.phar myTestFolder --options="-c phpunit.xml"
#### 并行化
您可以使用 processes
选项更改并行测试的数量
./bin/mutatesting {tool} {binary} {test directory} --processes=10
#### 性能
MutaTesting 非常慢:您的单元测试将像突变一样多次运行。为了提高性能,将在 /tmp/muta-cache.php
中创建一个缓存文件。
版权
版权所有 (c) 2014 Jean-François Lépine。有关详细信息,请参阅 LICENSE。