我正在尝试在yii2高级应用上运行验收测试。开箱即用的验收测试失败了。我将从第一个问题开始:我认为路线是错误的,我不知道在哪里修复它们。例如,about页面的错误表示:
Can't be on page "/frontend/web/index-test.php/site/about":
"/frontend/web/index-test.php/site/signup"
它从哪里获得这条路线?当然那里没有页面,那条路线是垃圾。我试着把它放在浏览器中..没什么..当然。我很想通过测试课来看看发生了什么,但我也无法解决这个问题。有人对此有所了解吗?我想如果我能够正确地获得路线,我可以到达某个地方。
答案 0 :(得分:1)
更新回答:
确保从项目根目录运行php -S localhost:8080
,而不是从测试目录运行!
我只是尝试过,并且得到了和你一样的错误。
原始回答:
开箱即用,在运行测试之前,您需要做一些事情。
yii2-app-advanced tests readme
tests/codeception/config
并查看/编辑config.php
(见下文)codeception/bin/yii migrate
php -S localhost:8080
tests/codeception
中的每个目录 - 例如frontend
codecept build
codecept run
如果您没有更改任何代码,它确实会运行并且它会立即成功。 :)
如果您确实更改了某些代码,那么测试会中断,您将不得不修复它。
tests/codeception/config/config.php
:
'components' => [
'db' => [
'dsn' => 'mysql:host=localhost;dbname=name_of_test_db',
],
编辑:
那条路对我来说很好,顺便说一句。我想问题是你在参与测试之前没有启动过网络服务器。
您可能需要修复文档根,如下所述:Installation Guide