Yii2中的Codeception Acceptance suite配置错误

时间:2017-04-11 08:00:30

标签: php yii2 phpunit codeception

我正在尝试使用Yii2 Basic框架设置Codeception。单元测试工作正常。验收也有效,但如果我想使用WebDriver模块,我会收到错误。这是acceptance.suite.yml文件

class_name: AcceptanceTester
modules:
    enabled:
      - AcceptanceHelper
      - WebDriver:
         url: 'http://mylocalsite'
         browser: phantomjs 

Phantomjs已在PORT 4444上安装并运行。

我得到的错误是:

[yii\base\ErrorException]
Illegal offset type in isset or empty

这是作曲家文件,可以让您了解版本。

{
    "config": {
        "vendor-dir": "protected/vendor"
    },

  "require": {
    "yiisoft/yii2": ">=2.0.5",
    "yiisoft/yii2-bootstrap": "*",
    "yiisoft/yii2-swiftmailer": "*",

    "guzzlehttp/guzzle": "4.*",
    "mobiledetect/mobiledetectlib" : "2.8.8",
    "codeception/codeception": "2.0.16",
    "codeception/specify": "*",
    "codeception/verify": "*",
    "yii2tech/sitemap": "*",
    "geoip2/geoip2":"~2.0",
    "facebook/facebook-instant-articles-sdk-php": "^1.5"
  },
  "require-dev": {
    "yiisoft/yii2-codeception": "*",
    "yiisoft/yii2-composer": "*",
    "yiisoft/yii2-debug": "*",
    "yiisoft/yii2-gii": "*",
    "yiisoft/yii2-faker": "*"
  },
}

配置文件是否有任何问题或任何人遇到同样的问题?

1 个答案:

答案 0 :(得分:3)

以下只是一个假设,未经过验证。旧版Codeception中的YAML配置略有不同,AFAIK还有一个config部分。您的composer.json显示您手动锁定到"codeception/codeception": "2.0.16"

你可以试试:

更新到2.2

  • 在composer.json中使用"codeception/codeception": "^2.2"

提供其他config部分

class_name: AcceptanceTester
modules:
  enabled:
    - WebDriver
  config:
    WebDriver:
      url: http://mylocalsite
      browser: phantomjs
      port: 4444