我正在尝试在Yii 2.0.9上的yii2-advanced-app上运行测试
当我引导测试并运行基本的默认功能测试时,我收到以下错误。
Tests\codeception\backend.functional Tests (1) -------------
E LoginCept: Ensure login page works
------------------------------------------------------------
1) LoginCept: Ensure login page works
Test .\functional\\LoginCept.php
[yii\base\ErrorException] Undefined index: SCRIPT_FILENAME
Scenario Steps:
1. $I->amOnPage("/backend/index.php/site/login")
#1 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\Request.php:642
#2 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\Request.php:602
#3 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\Request.php:720
#4 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\Request.php:670
#5 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\UrlManager.php:231
#6 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\Request.php:180
#7 C:\xampp\htdocs\mtnt-2\vendor\yiisoft\yii2\web\Application.php:75
#8 C:\Users\Aire\AppData\Roaming\Composer\vendor\symfony\browser-kit\Client.php:315
#9 Codeception\Module\Yii2->amOnPage
#10 C:\xampp\htdocs\mtnt-2\tests\codeception\backend\_support\_generated\FunctionalTesterActions.php:554
Time: 4.55 seconds, Memory: 12.25MB
There was 1 error:
---------
FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
我尝试跟踪错误,并意识到在$_SERVER['SCRIPT_FILENAME']
和bootstrap.php
中设置了config/functional.php
。此条目脚本已正确设置为/backend/web/index-test.php
。但是,index-test.php
文件会加载验收套件的代码配置。
我向/backend/web
添加了一个名为index-functional-test.php
的新文件。在那里,我更改了将接受套件的配置加载到功能套件的行。我有测试使用这个新的条目文件,但我仍然得到相同的错误。
我在尝试同时测试/backend
和/frontend
时遇到同样的问题。这就是这次尝试的原因
我该如何解决这个问题?
答案 0 :(得分:0)
根据the discussion提出的相应问题,在推出新的yii-app-advanced时应该修复此问题。
基本上,测试现在是分散的。每个app文件夹都有自己的tests文件夹。这是yii-app-advanced模板的结构变化。你不必等待Yii团队。您可以自己实施分散测试。
./vendor/bin/codecept bootstrap -ns "{app}\tests"
。因此,对于后端,您将运行./vendor/bin/codecept bootstrap -ns "backend\tests"