Hi, there. I'm having problem in put Codeception to work with Yii1. I've followed these tutos
https://packagist.org/packages/codeception/yii-bridgeAnd almost got it, but I'm getting these errors when running the sample test:
/vendor/bin/codecept --steps run
Codeception PHP Testing Framework v2.5.0
Powered by PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
Running with seed:
Acceptance Tests (0) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PHP Fatal error: Call to a member function registerCssFile() on null in /var/www/html/dsv/salto/protected/extensions/bootstrap/components/Bootstrap.php on line 377
PHP Stack trace:
PHP 1. {main}() /var/www/html/dsv/salto/vendor/codeception/codeception/codecept:0
PHP 2. Codeception\Application->run() /var/www/html/dsv/salto/vendor/codeception/codeception/codecept:43
PHP 3. Symfony\Component\Console\Application->run() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/Application.php:108
PHP 4. Symfony\Component\Console\Application->doRun() /var/www/html/dsv/salto/vendor/symfony/console/Application.php:148
PHP 5. Symfony\Component\Console\Application->doRunCommand() /var/www/html/dsv/salto/vendor/symfony/console/Application.php:248
PHP 6. Symfony\Component\Console\Command\Command->run() /var/www/html/dsv/salto/vendor/symfony/console/Application.php:946
PHP 7. Codeception\Command\Run->execute() /var/www/html/dsv/salto/vendor/symfony/console/Command/Command.php:255
PHP 8. Codeception\Command\Run->runSuites() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/Command/Run.php:387
PHP 9. Codeception\Codecept->run() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/Command/Run.php:492
PHP 10. Codeception\Codecept->runSuite() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/Codecept.php:158
PHP 11. Codeception\SuiteManager->initialize() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/Codecept.php:187
PHP 12. Codeception\Module\Yii1->_initialize() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/SuiteManager.php:80
PHP 13. include() /var/www/html/dsv/salto/vendor/codeception/codeception/src/Codeception/Module/Yii1.php:146
PHP 14. YiiBase::createWebApplication() /var/www/html/dsv/salto/index-test.php:30
PHP 15. YiiBase::createApplication() /var/www/html/dsv/yii-1.1/framework/YiiBase.php:98
PHP 16. CApplication->__construct() /var/www/html/dsv/yii-1.1/framework/YiiBase.php:125
PHP 17. CWebApplication->init() /var/www/html/dsv/yii-1.1/framework/base/CApplication.php:154
PHP 18. CApplication->getRequest() /var/www/html/dsv/yii-1.1/framework/web/CWebApplication.php:545
PHP 19. CModule->getComponent() /var/www/html/dsv/yii-1.1/framework/base/CApplication.php:501
PHP 20. YiiBase::createComponent() /var/www/html/dsv/yii-1.1/framework/base/CModule.php:386
PHP 21. YiiBase::import() /var/www/html/dsv/yii-1.1/framework/YiiBase.php:196
PHP 22. YiiBase::autoload() /var/www/html/dsv/yii-1.1/framework/YiiBase.php:296
PHP 23. CApplication->handleError() /var/www/html/dsv/yii-1.1/framework/YiiBase.php:421
PHP 24. CErrorHandler->handle() /var/www/html/dsv/yii-1.1/framework/base/CApplication.php:804
PHP 25. CErrorHandler->handleError() /var/www/html/dsv/yii-1.1/framework/base/CErrorHandler.php:131
PHP 26. CErrorHandler->render() /var/www/html/dsv/yii-1.1/framework/base/CErrorHandler.php:289
PHP 27. CWebApplication->runController() /var/www/html/dsv/yii-1.1/framework/base/CErrorHandler.php:331
PHP 28. CController->run() /var/www/html/dsv/yii-1.1/framework/web/CWebApplication.php:282
PHP 29. CController->runActionWithFilters() /var/www/html/dsv/yii-1.1/framework/web/CController.php:265
PHP 30. CController->runAction() /var/www/html/dsv/yii-1.1/framework/web/CController.php:286
PHP 31. CInlineAction->runWithParams() /var/www/html/dsv/yii-1.1/framework/web/CController.php:308
PHP 32. SiteController->actionError() /var/www/html/dsv/yii-1.1/framework/web/actions/CInlineAction.php:49
PHP 33. CController->render() /var/www/html/dsv/salto/protected/controllers/SiteController.php:125
PHP 34. CController->renderPartial() /var/www/html/dsv/yii-1.1/framework/web/CController.php:782
PHP 35. CBaseController->renderFile() /var/www/html/dsv/yii-1.1/framework/web/CController.php:869
PHP 36. CBaseController->renderInternal() /var/www/html/dsv/yii-1.1/framework/web/CBaseController.php:95
PHP 37. require() /var/www/html/dsv/yii-1.1/framework/web/CBaseController.php:126
PHP 38. CBaseController->beginWidget() /var/www/html/dsv/salto/protected/views/site/error.php:15
PHP 39. CBaseController->createWidget() /var/www/html/dsv/yii-1.1/framework/web/CBaseController.php:189
PHP 40. TbBox->init() /var/www/html/dsv/yii-1.1/framework/web/CBaseController.php:147
PHP 41. TbBox->registerClientScript() /var/www/html/dsv/salto/protected/extensions/bootstrap/widgets/TbBox.php:110
PHP 42. Bootstrap->registerAssetCss() /var/www/html/dsv/salto/protected/extensions/bootstrap/widgets/TbBox.php:216
<style>
.emoji{
color: #f6f6f6;
font-size: 120px;
line-height: 160px;
margin-bottom: 40px;
}
.erro p{
font-size: 16px;
padding-left: 20px;
}
</style>
<div class="bootstrap-widget">
FATAL ERROR. TESTS NOT FINISHED.
Call to a member function registerCssFile() on null
in /var/www/html/dsv/salto/protected/extensions/bootstrap/components/Bootstrap.php:377
- codeception and yii-bridge were installed through composer
-
codeception.yml:
paths:
tests: protected/tests
output: protected/tests/_output
data: protected/tests/_data
support: protected/tests/_support
envs: protected/tests/_envs
actor_suffix: Tester
extensions:
enabled:
- Codeception\Extension\RunFailed
-
funcional.suite.yml
actor: FunctionalTester
modules:
enabled:
# add a framework module here
- Yii1:
appPath: '/var/www/html/dsv/salto/index-test.php'
url: 'http://localhost/dsv/salto/index-test.php'
- \Helper\Functional
-IndexCept.php
<?php
$I = new FunctionalTester($scenario);
$I->wantTo('Test index page');
$I->amOnPage('/index.php');
If someone have time, could help me or point any helpful tutorial, please.
Edit:
After a long long debug, the problem seems related to a problem on autoload of classes in vendor. Yii seems not loading them even I'm putting the autoload line in app bootstrap file (index.php)
PHP Fatal error: Class 'CodeceptionHttpRequest' not found in /var/www/html/dsv/yii-1.1/framework/YiiBase.php on line 217