代码之家  ›  专栏  ›  技术社区  ›  dokgu

GitLab中的代码覆盖率始终未知

  •  1
  • dokgu  · 技术社区  · 7 年前

    unknown .

    + application
    + system
    - unit-tests
      - tests
          UtilTest.php
        autoload.php
        phpunit
      .gitignore
      .gitlab-ci.yml
      .htaccess
      index.php
      readme.md
    

    gitlab先生-基督教青年会:

    image: php:5.6
    
    stages:
      - test
    
    app:unit-tests:
      stage: test
      script:
        - php ./unit-tests/phpunit --bootstrap ./unit-tests/autoload.php ./unit-tests/tests
      coverage: '/Code Coverage: \d+\.\d+/'
    

    关于项目的 Test coverage parsing 第一节设置: enter image description here

    1 回复  |  直到 7 年前
        1
  •  3
  •   dokgu    7 年前

    因此,我能够通过使用php7.2作为Docker映像并安装 xdebug before_script 打电话。

    gitlab先生-基督教青年会:

    image: php:7.2
    
    stages:
      - test
    
    before_script:
      - pecl install xdebug
      - docker-php-ext-enable xdebug
    
    app:unit-tests:
      stage: test
      script:
      - php ./unit-tests/phpunit --bootstrap ./unit-tests/autoload.php ./unit-tests/tests --coverage-text --colors=never
      coverage: '/^\s*Lines:\s*\d+.\d+\%/'
    

    pecl install xdebug 它说它需要php7。理想情况下,我想使用php5.6,因为这是我们当前的服务器所拥有的,所以测试是在类似的版本上进行的,但我将暂时保持原样。

    我不得不补充一句 --coverage-text --colors=never script 调用它输出数字。然后在 coverage '/^\s*Lines:\s*\d+.\d+\%/' 我也用在 Test coverage parsing 项目设置部分。

    现在代码覆盖率正确地显示了我的期望值。