Всем привет. Codeception установлен глобально:
$ whereis codecept
codecept: /home/nkl/.config/composer/vendor/bin/codecept
Если просто запускаю codecept run -vvv, то все тесты проходят нормально:
$ codecept run -vvv
Codeception PHP Testing Framework v2.3.7
Powered by PHPUnit 6.4.4 by Sebastian Bergmann and contributors.
App\Tests.acceptance Tests (1) --------------------------------------------------------------------------------------
Modules: PhpBrowser, \App\Tests\Helper\Acceptance
---------------------------------------------------------------------------------------------------------------------
Testing App\Tests.acceptance
FirstCest: Open landing page
Signature: App\Tests\FirstCest:tryToTest
Test: tests/acceptance/FirstCest.php:tryToTest
Scenario --
I am on page "/"
[Request Headers] {"env":"test"}
[Page] /
[Response] 200
[Request Cookies] []
[Response Headers] {"Server":["nginx/1.10.3 (Ubuntu)"],"Content-Type":["text/html; charset=UTF-8"],"Transfer-Encoding":["chunked"],"Connection":["keep-alive"],"Set-Cookie":["PHPSESSID=pmmdb7n1u26dc3m02otsmj4fpm; path=/; HttpOnly"],"Cache-Control":["max-age=0, must-revalidate, private"],"Date":["Wed, 14 Feb 2018 06:46:08 GMT"],"X-Debug-Token":["c7b6cf"],"X-Debug-Token-Link":["http://woop2.sf/_profiler/c7b6cf"]}
I see element "h1.landing-jumbo__title"
PASSED
---------------------------------------------------------------------------------------------------------------------
App\Tests.functional Tests (1) --------------------------------------------------------------------------------------
Modules: Symfony, Doctrine2, Asserts, Sequence, \App\Tests\Helper\Functional
---------------------------------------------------------------------------------------------------------------------
- CabinetTest: Some feature [Database] Transaction started
[Request Headers] []
[Page] /cabinet
[Response] 200
[Request Cookies] []
[Response Headers] {"cache-control":["no-cache, private"],"date":["Wed, 14 Feb 2018 06:46:09 GMT"],"content-type":["text/html; charset=UTF-8"],"x-debug-token":["0bbdba"]}
[User] anon. []
✔ CabinetTest: Some feature (0.04s)
[Database] Transaction cancelled; all changes reverted.
---------------------------------------------------------------------------------------------------------------------
App\Tests.unit Tests (6) --------------------------------------------------------------------------------------------
Modules: Asserts, \App\Tests\Helper\Unit
---------------------------------------------------------------------------------------------------------------------
✔ StrategyTest: Id comparator | #0 (0.00s)
✔ StrategyTest: Id comparator | #1 (0.00s)
✔ StrategyTest: Id comparator | #2 (0.00s)
✔ StrategyTest: Date comparator | #0 (0.00s)
✔ StrategyTest: Date comparator | #1 (0.00s)
✔ StrategyTest: Date comparator | #2 (0.00s)
---------------------------------------------------------------------------------------------------------------------
Time: 214 ms, Memory: 26.00MB
OK (8 tests, 8 assertions)
Если по отдельности, то все проходит нормально. КРОМЕ функциональных тестов:
$ codecept run functional -vvv
Codeception PHP Testing Framework v2.3.7
Powered by PHPUnit 6.4.4 by Sebastian Bergmann and contributors.
PHP Fatal error: Class 'Symfony\Component\HttpKernel\Kernel' not found in /home/nkl/projects/woop2/src/Kernel.php on line 11
Т.к., codecept у меня установлен глобальный, то для того, что бы у меня работала автозагрузка классов из фреймворка я естественно в каждой папки с наборами тестов разместил файл _bootstrap.php с таким содрежимым:
<?php
require __DIR__ . '/../../vendor/autoload.php';
Вот собственно сам конфиг codeception.yml:
namespace: App\Tests
paths:
tests: tests
output: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
actor_suffix: Tester
settings:
bootstrap: _bootstrap.php
extensions:
enabled:
- Codeception\Extension\RunFailed
params:
- .env
А вот functional.suite.yml:
actor: FunctionalTester
modules:
enabled:
- Symfony:
app_path: 'src'
environment: 'test'
- Doctrine2:
depends: Symfony
cleanup: true
- Asserts
- Sequence
- \App\Tests\Helper\Functional
Как вы уже могли догадаться, разрабатываю и пытаюсь тестировать приложение на Symfony 4 Flex. У меня все настроено в точности, как в официальном репозитории codeception: GitHub - Codeception/symfony-demo: Symfony Demo App with Codeception tests
И что я заметил, если я запускаю codecept run functional, то у меня явно не читается файл _bootstrap.php из папки tests/functional. Потому что если я допускаю в этом файле ошибку синтаксиса, он на неё не ругается, а продолжает вываливать все туже ошибку с невозможностью подклчить HttpKernek (см. выше). А если я запускаю просто codecept run и в этом файле (tests/functional/_bootsrtap.php) будет ошибка синтаксиса, то весь сеанс тестирования будет завален фаталом из за ошибки синтаксиса в файле _bootstrap.php.
Что за странности господа?
P.S.
Я новичок в тестировании.
P.S.S.
Вопрос к администрации форума: Почему нет тега Symfony?