Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как выключить из code coverage все подпапки с заданным именем?

coverage
Теги: #<Tag:0x00007f7b7058f640>

(Matperez) #1

Здравствуйте!

Есть ли возможность в Codeception исключить из покрытия все подкататалоги с заданным именем? Например в проекте на Yii2 хочется убрать папку views везде, где бы она ни была, без учета вложенности. Я знаю, что можно написать

- app/views/*
- app/modules/*/views/*
- app/modules/*/widgets/views/*

Но хотелось бы что-то вроде views/ и не конкретизировать при этом где именно находится эта папка.


(Ray Romanov) #2

А не пробовал - */views/* ?


(Matperez) #3

Пробовал. Ошибку выдает:

Codeception PHP Testing Framework v2.1.9
Powered by PHPUnit 4.8.26 by Sebastian Bergmann and contributors.

                                                                        
  [Symfony\Component\Yaml\Exception\ParseException]                     
  Reference "/views/*" does not exist at line 18 (near "- */views/*").  
                                                                        

run [-c|--config CONFIG] [--report] [--html [HTML]] [--xml [XML]] [--tap [TAP]] [--json [JSON]] [--colors] [--no-colors] [--silent] [--steps] [-d|--debug] [--coverage [COVERAGE]] [--coverage-html [COVERAGE-HTML]] [--coverage-xml [COVERAGE-XML]] [--coverage-text [COVERAGE-TEXT]] [--no-exit] [-g|--group GROUP] [-s|--skip SKIP] [-x|--skip-group SKIP-GROUP] [--env ENV] [-f|--fail-fast] [--no-rebuild] [--] [<suite>] [<test>]

Можно обернуть это в кавычки, тогда парсер съест, но эффекта это не даст.

Я так понимаю, Codeception использует компонент Symfony\Finder и именно он ругается. В принципе он умеет искать файле по регулярке, но Codeception как-то там хитро перерабатывает переданный список и результат получается кривой.