我正在尝试将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文件夹,也会生成覆盖率报告。
我的问题是:
我的代码结构如下:
build
src
abc (this is the app folder)
lib ( this is the Cake lib folder)
tests
Test (this follows the Cake convention)
答案 0 :(得分:0)
解决方案有3个部分:
1)在项目根目录中创建一个phpunit.xml.dist。
构建 SRC abc(这是app文件夹) 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配置文件的更多信息,请查看此link。这将有助于理解如何使用phpunit配置文件,特别是黑名单和白名单部分。