当前位置: 首页 > 知识库问答 >
问题:

YIi2中的代码欺骗验收套件配置错误

刘选
2023-03-14

我正在尝试使用Yii2基本框架设置Codeception。单元测试工作正常。验收也在工作,但如果我想使用WebDriver模块,我会得到错误。这是验收。一套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个答案

颛孙霖
2023-03-14

以下仅为假设,未经验证。旧的Codeception版本中的YAML配置略有不同,可能还有一个附加的config部分。你的作曲家。json显示您手动锁定到“codeception/codeception”:“2.0.16”

你可以尝试什么:

  • 在composer.json中使用codec0019/codec0019:"^2.2"
class_name: AcceptanceTester
modules:
  enabled:
    - WebDriver
  config:
    WebDriver:
      url: http://mylocalsite
      browser: phantomjs
      port: 4444
 类似资料:
  • 当我在验收测试中更改应用程序模型时,测试实际使用该模型,当我在功能测试中更改应用程序模型时。。。测试仍然使用yii/web/application,我需要它来使用我的公共/组件/应用程序模型。我怎样才能改变这一点? 功能_bootstrap包含我的自定义模型...(通用/组件/应用程序)我完全困惑...... 当我运行测试代码时: 然后我得到错误: 这个nowSQL是在common\compone

  • 我在api中有下面的YML代码。一套yml 当我使用运行时,它给出以下错误/供应商/bin/codecept运行 我尝试了许多YML配置组合没有任何运气。如何解决这个问题?

  • 我正在使用Codeception框架在Laravel5应用程序中执行验收测试。我想使用一个单独的数据库进行测试,以防止真实数据库在测试中发生变化。我配置了服务器。基于Codeception文档的yml文件。但真正的数据库无论如何都会受到影响。这是我的配置文件: /协同感知。yml /测试/验收。一套yml realDB是真实的数据库,在执行验收测试后会发生更改。我尝试了不同的清理案例。一套yml:

  • 我有一个PHP应用程序,我们正在添加测试,使用代码欺骗。我们试图添加指定(和验证)到我们的套件,但它不被识别。你如何正确设置指定与代码欺骗一起使用? 在我的composer.json中,我有以下内容: 我在添加指定和验证后运行了作曲家更新,并获得了以下输出: 我有一个这样的测试(主要是由generate:test生成的): 当我运行单元测试时,我会得到以下输出: 我使用的参考文献是:http://

  • 我的功能测试文件 我尝试了2个不同的functional.suite.yml文件来运行测试: 失败时显示错误消息: 示例Cest:尝试测试签名:api\测试\示例Cest: tryToTest测试:测试/功能/示例Cest.php: tryToTest场景-我发送get"例如/测试2"[请求]GET v1/例如/测试2[请求头][][yii\web\HttpExc0019:404]'yii\bas

  • 我正在编写一组简单的PHP函数,我只使用纯PHP7,没有框架,什么都没有。这些函数稍后将在CMS中的插件中使用,但这不是重点。我想使用Codeception为我的函数编写单元测试(为了熟悉它,我知道Codeception基本上只在这里运行PHPUnit),但我真的不知道如何以合理的方式将Codeception指向我的代码。 我的结构如下:我有,其中包含我想要测试的函数,大致如下: 我使用Compo