如何修复验收测试的路线?

时间:2016-02-20 01:44:01

标签: yii2 codeception acceptance-testing

我正在尝试在yii2高级应用上运行验收测试。开箱即用的验收测试失败了。我将从第一个问题开始:我认为路线是错误的,我不知道在哪里修复它们。例如,about页面的错误表示:

Can't be on page "/frontend/web/index-test.php/site/about":
"/frontend/web/index-test.php/site/signup"

它从哪里获得这条路线?当然那里没有页面,那条路线是垃圾。我试着把它放在浏览器中..没什么..当然。我很想通过测试课来看看发生了什么,但我也无法解决这个问题。有人对此有所了解吗?我想如果我能够正确地获得路线,我可以到达某个地方。

1 个答案:

答案 0 :(得分:1)

更新回答
确保从项目根目录运行php -S localhost:8080,而不是从测试目录运行!

我只是尝试过,并且得到了和你一样的错误。

原始回答

开箱即用,在运行测试之前,您需要做一些事情。

yii2-app-advanced tests readme

  1. 全局安装Codeception。
  2. 创建测试数据库。
  3. 转到tests/codeception/config并查看/编辑config.php(见下文)
  4. 运行迁移:codeception/bin/yii migrate
  5. 启动网络服务器:php -S localhost:8080
  6. 导航到您要测试的tests/codeception中的每个目录 - 例如frontend
  7. 运行codecept build
  8. 运行codecept run
  9. 如果您没有更改任何代码,它确实会运行并且它会立即成功。 :)
    如果您确实更改了某些代码,那么测试会中断,您将不得不修复它。

    tests/codeception/config/config.php

    'components' => [
        'db' => [
            'dsn' => 'mysql:host=localhost;dbname=name_of_test_db',
        ],
    

    编辑:
    那条路对我来说很好,顺便说一句。我想问题是你在参与测试之前没有启动过网络服务器。

    您可能需要修复文档根,如下所述:Installation Guide