0

我正在尝试将 Jenkins 与 CakePHP 一起使用,作为我推动更好 CI 的一部分。

我正在使用以下命令进行构建作业步骤。

/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(这是 app 文件夹) lib(这是 Cake lib 文件夹) tests Test(这遵循 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

For more information on how to use phpunit configuration file, look at this link. It will help to understand how to use the phpunit configuration file in particular the blacklist and whitelist section.

于 2013-01-19T04:00:03.043 回答