EagleMoor
@EagleMoor
PHP Yii2 RESTful API Developer

Как подружить Yii2 и Codeception c coverage?

Добрый день. Возникла потребность покрыть свое 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 пустой. Может я делаю что-то принципиально не так???
  • Вопрос задан
  • 2087 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы