0

より良い CI への取り組みの一環として、CakePHP で Jenkins を使用して実験しています。

ビルド ジョブ ステップに次のコマンドを使用しています。

/var/lib/jenkins/workspace/ABC-MASTER/src/abc/Console/cake testsuite -app 
/var/lib/jenkins/workspace/ABC-MASTER/src/abc app AllTests --log-junit 
/var/lib/jenkins/workspace/ABC-MASTER/build/logs/junit.xml --coverage-clover 
/var/lib/jenkins/workspace/ABC-MASTER/build/logs/clover.xml --coverage-html 
/var/lib/jenkins/workspace/ABC-MASTER/build/coverage

これにより、lib フォルダーに対してもカバレッジ レポートが生成されます。

私の質問は次のとおりです。

  1. lib フォルダーのカバレッジ HTML ページも生成する必要がありますか?
  2. そうでない場合、どうすればオフにできますか?

私のコードは次のように構成されています:

build
src
   abc (this is the app folder)
   lib ( this is the Cake lib folder)
tests
   Test (this follows the Cake convention)
4

1 に答える 1

0

ソリューションには3つの部分があります。

1)プロジェクトルート内にphpunit.xml.distを作成します。

build src abc(これはアプリフォルダーです)lib(これはCake libフォルダーです)テストテスト(これはCakeの規則に従います)build.xml phpunit.xml.dist

2)phpunit.xml.dist内に次のコンテンツを作成します

<?xml version="1.0" encoding="UTF-8"?>

<phpunit>

  <filter>
    <blacklist>
      <directory suffix=".php">src/lib</directory>
    </blacklist> 
  </filter>

</phpunit>

3)コマンドに追加し--configuration /path/to/phpunit.xml.distます。

質問で与えられた例では、これは次のようになります。

/var/lib/jenkins/workspace/ABC-MASTER/src/abc/Console/cake test \
--app /var/lib/jenkins/workspace/ABC-MASTER/src/abc app AllTests \
--log-junit /var/lib/jenkins/workspace/ABC-MASTER/build/logs/junit.xml \
--coverage-clover /var/lib/jenkins/workspace/ABC-MASTER/build/logs/clover.xml \
--coverage-html /var/lib/jenkins/workspace/ABC-MASTER/build/coverage \
--configuration /var/lib/jenkins/workspace/ABC-MASTER/phpunit.xml.dist

phpunit構成ファイルの使用方法の詳細については、このリンクを参照してください。phpunit構成ファイル、特にブラックリストとホワイトリストのセクションの使用方法を理解するのに役立ちます。

于 2013-01-19T04:00:03.043 に答える