Я запускаю приемочные тесты Codeception и получаю результаты:
Как вы видите покрытие составляет 0%
Затем я открываю результаты покрытия в браузере от _output / acceptance.remote.coverage / index.html и увидеть общий охват 81,13%
И возникает вопрос: почему результат покрытия не объединен и не напечатан на консоли? Я должен написать юнит-тесты тоже для покрытия всех методов?
acceptance.suite.yml
class_name: AcceptanceTester
modules:
enabled:
- PhpBrowser:
url: http://127.0.0.1:4444
- \Helper\Acceptance
codeception.yml
actor: Tester
paths:
tests: tests
log: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
settings:
bootstrap: _bootstrap.php
colors: true
memory_limit: 1024M
coverage:
enabled: true
c3_url: http://127.0.0.1:4444
remote: true
whitelist:
include:
- src/*
exclude:
- tests/*
extensions:
enabled:
- Codeception\Extension\RunFailed
Команда запуска тестов
codecept run --coverage --coverage-xml --coverage-html --coverage-text --fail-fast
Версии
Codeception PHP Testing Framework v2.2.2
Powered by PHPUnit 5.4.6 by Sebastian Bergmann and contributors.
Codeception не объединит ваши результаты, как указано в документация:
Но если вы запускаете тесты на другом […] сервере, в конфигурацию необходимо добавить один параметр remote.
[…] В этом случае результаты удаленного покрытия кода не будут объединены с локальными, если эта опция включена. Объединение возможно только в том случае, если удаленные и локальные файлы имеют одинаковый путь. Но в случае запуска тестов на удаленном сервере мы не уверены в этом.
Может быть, вы можете сделать это вручную, используя phpcov.
Других решений пока нет …