org_heigl/junitdiff

创建两个JUnit文件的差异

0.5.0 2017-01-27 12:06 UTC

README

Build Status Code Climate Test Coverage Coverage Status Scrutinizer Code Quality Codacy Badge SensioLabsInsight

Latest Stable Version Total Downloads License Dependency Status composer.lock

JUnitDiff

一个小型命令行工具,用于检查测试运行之间哪些测试已更改。

此软件处于早期alpha阶段。欢迎提交PR和改进建议。

安装

JUnitDiff可以通过以下两种方式之一进行安装

composer。

在项目根目录下运行以下命令以将JUnitDiff作为开发依赖项包含

$ composer global require --dev org_heigl/junitdiff

Phar

发布页面下载最新的PHAR文件。

发布使用ID为AE11B9CEBADB342A和指纹A84C BFAC 7147 9C6C E37E FF47 AE11 B9CE BADB 342A的JUNitDiff GPG密钥签名。

您可以使用以下命令验证PHAR文件

gpg --keyserver pgp.mit.edu --recv-key 0xAE11B9CEBADB342A
gpg --fingerprint AE11B9CEBADB342A
gpg --verify junitdiff.phar.asc junitdiff.phar

您可以将文件重命名为junitdiff.pharjunitdiff以方便执行。

使用方法

JUnitDiff比较两个JUnit日志文件,例如使用phpunit生成。

$ phpunit --log-junit logfile.xml

当您有两个来自不同测试运行的JUnit日志文件时,您可以使用junitdiff检查哪些测试在它们之间已更改。

$ php junitdiff.diff compare </path/to/first/logfile> </path/to/last/logfile>

输出示例可能如下

[o] Test MyTest::testStoringIdWorks changed from success to error
[+] New Test MyTest::testStoringIdWorksBetter with data set #7
[-] Removed Test MyTest::testStoringIdWorksBest

注意

从PHPUnit 6.0开始,PHPUnit将有关跳过或忽略的测试的信息添加到JUnit日志文件中!因此,使用先前版本创建的文件不提供有关跳过或忽略的测试的信息。(感谢Sebastian Bergmann提供此信息!)在问题3得到解决之前,它们将不会显示在输出中!但是,由于它们被忽略或跳过且未执行,因此它们就像不存在的测试一样,所以这不应该是问题。