首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Codeception中包含/排除远程覆盖的文件

在Codeception中包含/排除远程覆盖的文件
EN

Stack Overflow用户
提问于 2021-10-05 01:12:01
回答 1查看 119关注 0票数 0

我刚刚得到了一个要维护的遗留项目,我一开始就把它放在一个测试工具(Codeception)中,并在它上面运行覆盖。然而,它目前只能通过PHPBrowser运行(由于其复杂性和遗留性质,单元测试目前是不可能的),因此它需要远程覆盖。我尝试指定哪些文件应该覆盖,哪些不应该覆盖,但它似乎完全忽略了这一点,并包含了所有文件,包括非PHP文件。

我在用codecept run acceptance --no-colors --coverage-html coverage做测试。

这是我的codeception.yml文件:

代码语言:javascript
复制
paths:
    tests: tests
    output: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
actor_suffix: Tester
extensions:
    enabled:
        - Codeception\Extension\RunFailed
settings:
    lint: false
coverage:
    enabled: true
    include:
        - api_base/api/web/*
    exclude:
        - api_base/system/config.php

这是acceptance.yml

代码语言:javascript
复制
# Codeception Test Suite Configuration
#
# Suite for acceptance tests.
# Perform tests in browser using the WebDriver or PhpBrowser.
# If you need both WebDriver and PHPBrowser tests - create a separate suite.

actor: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: http://new-project.local/api/web
        - \Helper\Acceptance

c3.php文件位于项目的根目录中。下面是目录结构的大致概念:

代码语言:javascript
复制
+- api_base/
|   +- api/
|   |   +- web/
|   |   |   \- *.php
|   |   \- *
|   +- README.md
|   +- system/
|   |   +- config.php
|   |   \- *
|   \- *
+- bin/
|   \- *
+- c3.php
+- codeception.yml
+- composer.json
+- composer.lock
+- tests/
|   +- acceptance/
|   |   \- AcceptanceCest.php
|   \- *
\- vendor/
    \- *

报告中的文件具有正确的覆盖率,但有些文件我不希望包括在内。当前包含所有文件,即使我指定了exclude: [ ./*.* ]。我希望在远程覆盖率报告中包括大多数PHP文件,而不包括任何非PHP文件。这个是可能的吗?多么?

EN

回答 1

Stack Overflow用户

发布于 2021-10-07 08:13:11

您的exclude设置不起作用,因为它不与include重叠。

PhpCodeCoverage库过去有单独的列表-白名单和黑名单,但黑名单在几个主要版本之前被删除。exclude现在所做的就是从白名单中删除文件,并且不能删除从未出现在白名单中的文件。

Relevant code

您的问题的解决方案是在include列表中添加api_base/system/目录。

代码语言:javascript
复制
coverage:
   enabled: true
   include:
       - api_base/api/web/*
       - api_base/system/*
   exclude:
       - api_base/system/config.php

更新2021-10-10:

要排除非PHP文件,请更改include规则以仅匹配.php文件:

代码语言:javascript
复制
- api_base/api/web/*.php
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69443881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档