Dun*_*zzz 9 phing continuous-integration unit-testing cakephp jenkins
我正在第一次尝试设置Jenkins来构建和运行我的CakePHP项目的单元测试/代码覆盖.到目前为止,我已经成功地让Jenkins从我的BitBucket存储库中自动获取和构建 - 这本身就是一个小小的胜利.
我想要发生的下一件事是运行单元测试并填充代码覆盖率报告.
这是我的build.xml,它使用(仅)构建命令在Jenkins中执行 phing -f $WORKSPACE/build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="Consumer Love" default="phpunit">
<target name="phpunit">
<exec command="cake test app --coverage-clover logs/reports/clover.xml"></exec>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
我认为问题是,当你运行cake test app它要求提示你要运行哪些特定测试时,我一直无法找到运行我所有 CakePHP应用程序单元测试的方法.
Dun*_*zzz 12
解决方案是创建一个自定义的CakePHP测试套件,它添加要测试的特定文件/目录,然后使用该命令运行该套件cake test app AllTests.
例如,这是我的Test/Case/AllTests.php:
/*
* Custom test suite to execute all tests
*/
class AllTestsTest extends PHPUnit_Framework_TestSuite {
public static function suite() {
$path = APP . 'Test' . DS . 'Case' . DS;
$suite = new CakeTestSuite('All tests');
$suite->addTestDirectory($path . 'Model' . DS);
return $suite;
}
}
Run Code Online (Sandbox Code Playgroud)
这个测试套件只是将Models目录添加到测试环境中,所以现在我的所有模型测试都会被执行.如您所见,它可以扩展为运行更多/所有测试.
| 归档时间: |
|
| 查看次数: |
3046 次 |
| 最近记录: |