Привет, я новичок в тестировании yii2, у меня есть настройка среды тестирования и тесты в app / tests, и она работает нормально.
Теперь я хочу настроить тесты для одного из моих модулей, который является modules / v1 и содержит команды, компоненты, контроллеры и папки моделей.
Я создал начальную настройку для тестов в modules / v1 с использованием codecept bootstrap
и настроил ее следующим образом
codeception.yml
namespace: v1
paths:
tests: tests
output: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
actor_suffix: Tester
settings:
bootstrap: /../_bootstrap.php
colors: true
memory_limit: 1024M
extensions:
enabled:
- Codeception\Extension\RunFailed
modules:
enabled:
- Yii2:
configFile: '/../../config/test.php'
Тесты / unit.suite.yml
actor: UnitTester
modules:
enabled:
- Asserts
- \v1\Helper\Unit
Тесты / functional.suite.yml
actor: FunctionalTester
modules:
enabled:
- Asserts
- \v1\Helper\Functional
Тесты / _bootstrap.php
<?php
define('YII_ENV', 'test');
defined('YII_DEBUG') or define('YII_DEBUG', true);
require_once(__DIR__ . '/../../../vendor/yiisoft/yii2/Yii.php');
require __DIR__ .'/../../../vendor/autoload.php';
Теперь я хочу проверить действие команды в moduels / v1 / commands /
ReportController.php
<?php
namespace app\modules\v1\commands;
class ReportController extends Controller
{
public function actionOverview()
{
echo 1;
}
}
В моих тестах \ functions \ commands \ ReportControllerCest.php я хочу запустить обзор действий из команд \ ReportController.php, которые я делаю так
<?php
namespace modules\v1\tests\functional\commands;
use v1\FunctionalTester;
use Yii;
class ReportControllerCest
{
public function _before(FunctionalTester $I)
{
}
public function _after(FunctionalTester $I)
{
}
// tests
public function tryToTest(FunctionalTester $I)
{
Yii::$app->createControllerByID('report')->run('overview');
}
}
, который не работает и выдает мне следующую ошибку
1) ReportControllerCest: Try to test
Test tests\functional\commands\ReportControllerCest.php:tryToTest
[yii\base\InvalidRouteException] Unable to resolve the request: report/overview
#1 C:\xampp\htdocs\preroll\vendor\yiisoft\yii2\base\Controller.php:189
#2 C:\xampp\htdocs\preroll\modules\v1\tests\functional\commands\ReportControllerCest.php:20
#3 modules\v1\tests\functional\commands\ReportControllerCest->tryToTest
означает, что он не проверяет эти команды / ReportController.php
Вопросы.
1-это то, как модули должны быть проверены с их отдельной папкой тестов? если да, то что я делаю не так? если нет то каков правильный способ сделать это?
2-как я могу проверить команды (консольные команды)?