halleck45/mutatesting

PHP 的突变测试工具

0.0.2 2014-06-12 11:45 UTC

This package is auto-updated.

Last update: 2024-09-18 00:08:42 UTC


README

PHP 的突变测试工具。

Build Status Latest Stable Version

根据 Wikipedia

突变测试(或突变分析或程序突变)评估软件测试的质量。突变测试涉及以小方式修改程序的源代码或字节码。

MutaTesting 支持 PHPUnitatoum。您可以创建任何 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。