I’m using the advanced template and want to configure and run codeception tests.
I did the following:
-
Install codeceptor using composer (in yii2 app root run php composer.phar require "codeception/codeception:*")
-
In the frontend folder run vendor/bin/codecept build
-
In the frontend folder run vendor/bin/codecept run
After that I saw exception:
Codeception PHP Testing Framework v2.0.0-RC
Powered by PHPUnit 4.2-dev by Sebastian Bergmann.
Fatal error: Class 'Guzzle\Http\Client' not found in W:\domains\mysite\www\vendor
\codeception\codeception\src\Codeception\Module\PhpBrowser.php on line 91
Call Stack:
0.0000 134496 1. {main}() W:\domains\mysite\www\vendor\codeception\code
ception\codecept:0
0.0320 1754336 2. Symfony\Component\Console\Application->run() W:\domai
ns\mysite\www\vendor\codeception\codeception\codecept:27
0.0380 2019328 3. Symfony\Component\Console\Application->doRun() W:\dom
ains\mysite\www\vendor\symfony\console\Symfony\Component\Console\Application.php:
124
0.0390 2019752 4. Symfony\Component\Console\Application->doRunCommand()
W:\domains\mysite\www\vendor\symfony\console\Symfony\Component\Console\Applicati
on.php:193
0.0390 2019960 5. Symfony\Component\Console\Command\Command->run() W:\d
omains\mysite\www\vendor\symfony\console\Symfony\Component\Console\Application.ph
p:897
0.0390 2022144 6. Codeception\Command\Run->execute() W:\domains\mysite\w
ww\vendor\symfony\console\Symfony\Component\Console\Command\Command.php:252
0.0880 3995264 7. Codeception\Command\Run->runSuites() W:\domains\mysite
\www\vendor\codeception\codeception\src\Codeception\Command\Run.php:148
0.0880 3995672 8. Codeception\Codecept->run() W:\domains\mysite\www\vend
or\codeception\codeception\src\Codeception\Command\Run.php:197
0.0950 3998368 9. Codeception\Codecept->runSuite() W:\domains\mysite\www
\vendor\codeception\codeception\src\Codeception\Codecept.php:155
0.1310 5366112 10. Codeception\SuiteManager->initialize() W:\domains\gim
me\www\vendor\codeception\codeception\src\Codeception\Codecept.php:171
0.1310 5366184 11. Codeception\SuiteManager->initializeModules() W:\doma
ins\mysite\www\vendor\codeception\codeception\src\Codeception\SuiteManager.php:64
0.1380 5774416 12. Codeception\Module\PhpBrowser->_initialize() W:\domai
ns\mysite\www\vendor\codeception\codeception\src\Codeception\SuiteManager.php:75
Then I chaged the config W:\domains\mysite\www\frontend\tests\_bootstrap.php to look like this, but nothing is changed:
<?php
// the entry script URL (without host info) for functional and acceptance tests
// PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL
defined('TEST_ENTRY_URL') or define('TEST_ENTRY_URL', '/index-test.php');
// the entry script file path for functional and acceptance tests
defined('TEST_ENTRY_FILE') or define('TEST_ENTRY_FILE', dirname(__DIR__) . '/web/index-test.php');
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');
require_once(__DIR__ . '/../../vendor/autoload.php');
require_once(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/aliases.php');
// set correct script paths
$_SERVER['SCRIPT_FILENAME'] = TEST_ENTRY_FILE;
$_SERVER['SCRIPT_NAME'] = TEST_ENTRY_URL;
$_SERVER['SERVER_NAME'] = 'mysite';
Is it something else that I should configure?