15

phpundercontrol から Hudson への切り替えを検討しています (いくつかの非常に優れた機能があるようです!) が、phpunit ログを表示する方法がわかりません。

Hudson で ant を使用して phpunit を正常に実行しています。 --log-xml は、そのビルドの適切な builds/ フォルダーに phpunit.xml を配置しています。しかし、それをビルドに表示する方法がわからないので、実行されたテストと失敗したテストがある場合はそれを確認できます。

それを理解したら、次はカバレッジ、メトリック、および API を取得します :)

たとえば、「このプロジェクトでは、ビルドごとに「API」へのリンクを表示し、builds/$BUILDNUM/api/index.html へのリンクを表示する」など、HTML で生成するものは何でも簡単なようです。

4

9 に答える 9

24

xUnit プラグインをインストールし、ログ ファイル (ジョブ構成から) を参照したところ、魅力的に動作しました。カスタムハックはもはや必要ないようです。

http://wiki.hudson-ci.org/display/HUDSON/xUnit+Plugin

于 2009-09-25T21:21:47.240 に答える
7

最後の回答は 2009 年のものであり、多くの人が Oracle のためにHudson から Jenkins に移行しているため、 Jenkins Template for PHPの使用を検討してください。これは、pdepend、phpmd、phpcs など、PHPQAToolsすべての構成ニーズに対応する無料で便利なテンプレートを提供します。と phpunit を 1 つの便利なテンプレートにまとめました。

サポート用に Freenode の IRC チャネル #jenkins-phpもあります。

于 2011-03-19T09:54:51.673 に答える
5

このxsltファイルを使用して、phpunitxmlをhudson/junitxmlに変換することもできます。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <xsl:element name="testsuites">
        <xsl:for-each select="//testsuite[@file]">
             <xsl:copy-of select="." />
        </xsl:for-each>
    </xsl:element>
</xsl:template>
</xsl:stylesheet>
于 2009-06-20T10:29:26.690 に答える
2

前回の投稿の XSLT 変換がうまくいきません。この変換を適用した後、レポートの DOM 構造は変更されません。問題を修正するために修正しました。私のバリアントは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="/">
      <xsl:element name="testsuites">
         <xsl:for-each select="//testsuite[@file]/testsuite">
            <xsl:copy-of select="." />
         </xsl:for-each>
      </xsl:element>
   </xsl:template>
</xsl:stylesheet>

わたしにはできる。

于 2009-06-25T11:19:47.163 に答える
2

PHPUnit によって生成される XML の形式は、(現在) Hudson と互換性がありません。これは、他の同様のツールによって生成される XML とまったく同じではないためです。そのため、「テスト レポートに結果が含まれていません」というメッセージが表示されます。

PHPUnit を修正して「より良い」XML を生成するか、Hudson を改善して受け入れる内容をより柔軟にする以外に、唯一の解決策は <testuite> 要素のネストを排除して XML を修正することです。ハドソンに受け入れられるように、sed を使用してPHPUnit XML を変更しました。

# Tweak the test result XML to make it acceptable to Hudson.
lines=`wc -l test-results/results.xml|awk '{print $1}'`
end=`expr $lines - 1`
sed -i "$end d;3d" test-results/results.xml
于 2009-03-29T11:57:33.813 に答える
0

上記の答えは有効ですが、ビルドプロセスを変更せずに、より簡単になります。

于 2009-03-14T20:44:03.517 に答える
0

使用しているphpunitのバージョンに応じて、xsltを変更する必要があると思います。たとえば、hoschi によって投稿されたスタイル シートは、phpunit バージョン 3.3.17 を使用してうまく機能しました。

しかし、phpunit がアップグレードされて、新しいバージョンで別のフォーマットを出力する可能性は十分にあります。または、sir-vestnik が古いバージョンを実行している可能性もあります。

于 2009-06-30T21:30:41.647 に答える