Добрый день. Возникла потребность покрыть свое REST API тестами, а заодно посмотреть покрытие кода этими тестами. Как написать просто тест с вызовом REST я вроде разобрался, но с
--coverage-html
упорно ни чего не получается!
Я использую Yii2-basic как основу, установил все нужные зависимости. Codecept у меня идет глобально из composer (в include_path установил).
Мне не понятно как работает c3.php и как его подключать к проекту, что бы он начал работать адекватно.
Вот мои конфиги:
tests/codeception.yml
actor: Tester
paths:
tests: codeception
log: codeception/_output
data: codeception/_data
helpers: codeception/_support
settings:
bootstrap: _bootstrap.php
suite_class: \PHPUnit_Framework_TestSuite
memory_limit: 1024M
log: true
colors: true
config:
test_entry_url: 'http://site.local/index-test.php'
acceptance.suite.yml
class_name: AcceptanceTester
modules:
enabled:
- PhpBrowser
- REST
config:
PhpBrowser:
url: http://site.local
coverage:
enabled: true
remote: true
c3_url: 'http://site.local/index-test.php'
Тесты из acceptance оставляю как есть.
web/c3.php
// include composer vendor
include 'vendor/autoload.php';
$_SERVER['HTTP_X_CODECEPTION_CODECOVERAGE_DEBUG'] = 1;
$_SERVER['HTTP_X_CODECEPTION_CODECOVERAGE_CONFIG'] = '/../tests/codeception.yml';
В index-test.php с3.php не подключаю....
Настройки nginx
location /c3/ {
try_files /c3.php?$args /c3.php;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
В итоге у меня выполняются тесты, но отчет в html пустой. Может я делаю что-то принципиально не так???