Yii2中的Codeception Acceptance套件配置错误
Codeception Acceptance suite configuration error in Yii2
我正在尝试使用 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": "*"
},
}
是配置文件有问题还是有人遇到同样的问题?
以下仅为假设,未经验证。旧 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
我正在尝试使用 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": "*"
},
}
是配置文件有问题还是有人遇到同样的问题?
以下仅为假设,未经验证。旧 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