当前位置: 首页 > 面试题库 >

zend framework 2 + phpunit +多个模块+持续集成

郝池暝
2023-03-14
问题内容

预先感谢您的任何评论。我刚刚开始从Zend Framework
1切换到ZF2,并且在完成了快速入门和其他一些教程之后,我注意到使用phpunit的“默认”方式有一个缺点。要么,要么我迷路了。

默认项目的文件夹结构为

Project
| - config
| | - autoload
| | | - global.php
| | | - local.php.dist
| | - application.config.php
| - data
| - module
| | - Application
| | | - config
| | | - src
| | | - test
| | | | - ApplicationTest
| | | | - Bootstrap.php
| | | | - phpunit.xml
| | | | - TestConfig.php.dist 
| | | - view
| | | - Module.php
| | - Album
| | | - config
| | | - src
| | | - test
| | | | - AlbumTest
| | | | - Bootstrap.php
| | | | - phpunit.xml
| | | | - TestConfig.php.dist 
| | | - view
| | | - Module.php
| - public
| - vendor

我的问题是,我如何将Jenkins与ANT一起使用,以测试所有phpunit测试套件。我了解分别测试每个模块背后的原因,但是如何正确地自动化它以获取一个report.xml。如果我不需要在phpunit配置中指定每个模块,那就更好了。或build.xml。

再次感谢您的任何评论。


问题答案:

当我发现这个问题时,我忘了回答自己的问题,我向忘了的社区表示歉意……但是,对于每个人来说,这是如何使它起作用的。

build.xml

<target name="phpunit" description="Run unit tests with PHPUnit">
    <apply executable="../vendor/bin/phpunit" parallel="false">
        <fileset dir="${env.WORKSPACE}/module" >
            <include name="**/test/phpunit.xml"/>
        </fileset>
        <arg value="--configuration" />
        <srcfile/>
    </apply>
</target>

以及每个模块的phpunit.xml

<phpunit bootstrap="Bootstrap.php">
    <testsuites>
        <testsuite name="Application">
            <directory>./</directory>
        </testsuite>
    </testsuites>

<!-- Filters only matter for code coverage reporting -->
    <filter>
        <blacklist>
            <directory>../../../vendor/</directory>
            <directory>./</directory>
            <file>../Module.php</file>
        </blacklist>
    </filter>
    <logging>
        <log type="coverage-html" target="../../../build/coverage" title="Application Module" charset="UTF-8" yui="true" highlight="true" lowUpperBound="35" highLowerBound="70"/>
        <log type="coverage-clover" target="../../../build/logs/clover-Application.xml"/>
        <log type="junit" target="../../../build/logs/junit-Application.xml" logIncompleteSkipped="false"/>
    </logging>
</phpunit>


 类似资料:
  • 通过避免反模式轻松实现持续集成 尽管持续集成(Continuous Integration,CI)可以非常有效地减少项目的风险,但是它对与编程相关的日常活动提出了很高的要求。在这一期 让开发自动化中,自动化专家和 Continuous Integration: Improving Software Quality and Reducing Risk的作者之一 Paul Duvall 列举了一系列

  • translated_page: https://github.com/PX4/Devguide/blob/master/en/test_and_ci/continous_integration.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e PX4 Continuous Integration PX4 builds and

  • 问题内容: 我一直在处理我公司的CI扩展问题,同时试图弄清楚在CI和多个分支机构中采用哪种方法。在stackoverflow,多个功能分支和持续集成上也存在类似的问题。我开始了新的话题,因为我想进行更多的讨论并提供有关问题的一些分析。 到目前为止,我发现我可以采用2种主要方法(或者可能采取其他一些方法?)。 每个分支有多套工作(在这里谈论詹金斯/哈德森) 编写工具来管理额外的工作 批量创建/修改/

  • 我们做的还不够好,先占个坑。 欢迎贡献章节。

  • 注意有关编写测试的建议, 请参阅 Testing Your Code. Why? 与 Kent Beck 一起撰写关于 持续集成 (简称 : CI ) 的 Martin Fowler 对 CI 进行了如下的描述: 持续集成是一种软件开发实践,团队成员经常整合他们的工作,通常每个人至少每天集成一次 - 导致每天进行多次集成。 每个集成都通过自动构建(包括测试)进行验证,以尽快检测集成错误。 许多团队

  • 对应于 Ruby 的一个或多个版本,你很轻松就可以测试你的网站构建。以下指引将展示怎样在 Travis 上建立一个免费的,集成了处理 pull 请求的 GitHub 的构建环境。如果你使用私有代码库的话,也有相应的付费选择。 1. 启用 Travis 以及 Github 启用 Travis 来构建你的 Github 代码库非常简单: 前往你在 travis-ci.org 的个人档案: https: