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

yii2代码欺骗应用类错误

魏成济
2023-03-14

当我在验收测试中更改应用程序模型时,测试实际使用该模型,当我在功能测试中更改应用程序模型时。。。测试仍然使用yii/web/application,我需要它来使用我的公共/组件/应用程序模型。我怎样才能改变这一点?

功能_bootstrap包含我的自定义模型...(通用/组件/应用程序)我完全困惑......

当我运行测试代码时:

use tests\codeception\frontend\FunctionalTester;
$I = new FunctionalTester($scenario);
$I->amOnPage('/');

然后我得到错误:

[yii\base\UnknownPropertyException] Getting unknown property: yii\web\Application::nowSQL

这个nowSQL是在common\components\application中定义的,但是这个函数测试使用了默认值


    # Codeception Test Suite Configuration

    # suite for acceptance tests.
    # perform tests in browser using the Selenium-like tools.
    # powered by Mink (http://mink.behat.org).
    # (tip: that's what your customer will see).
    # (tip: test your ajax and javascript by one of Mink drivers).

    # RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.

    class_name: AcceptanceTester
    modules:
        enabled:
            - PhpBrowser
            - tests\codeception\common\_support\FixtureHelper
    # you can use WebDriver instead of PhpBrowser to test javascript and ajax.
    # This will require you to install selenium. See http://codeception.com/docs/04-AcceptanceTests#Selenium
    # "restart" option is used by the WebDriver to start each time per test-file new session and cookies,
    # it is useful if you want to login in your app in each test.
    #        - WebDriver
        config:
            PhpBrowser:
    # PLEASE ADJUST IT TO THE ACTUAL ENTRY POINT WITHOUT PATH INFO
                url: http://example.com
    #        WebDriver:
    #            url: http://localhost:8080
    #            browser: firefox
    #            restart: true


    # Codeception Test Suite Configuration

    # suite for functional (integration) tests.
    # emulate web requests and make application process them.
    # (tip: better to use with frameworks).

    # RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
    #basic/web/index.php
    class_name: FunctionalTester
    modules:
        enabled:
          - Filesystem
          - Yii2
          - tests\codeception\common\_support\FixtureHelper
        config:
            Yii2:
                configFile: '../config/frontend/functional.php'

共有1个答案

袁法
2023-03-14

为了使用自定义应用程序类进行功能测试,请在“functional.php”配置中设置“class”配置。

functional.suite.yml:

class_name: FunctionalTester
modules:
    enabled:
      - Yii2
    config:
        Yii2:
            configFile: 'codeception/config/functional.php'

functional.php:

return [
    'class' => 'my\custom\Application',
    ...
];

关于验收测试,您必须更改index text.php中使用的应用程序实现:

[...]
(new my\custom\Application($config))->run();

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

  • 我正在尝试使用Yii2基本框架设置Codeception。单元测试工作正常。验收也在工作,但如果我想使用模块,我会得到错误。这是文件 Phantomjs安装并运行在上。 我得到的错误是: 这是作曲家文件,给你关于版本的想法。 配置文件是否有任何错误,或者是否有人面临相同的问题?

  • 我有一个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

  • 我已经按照他们网站上的指南安装了Codeception。创建第一个测试。 $I=新WebGuy($scenario); $I- $I- $I- 当我们开始测试php codecept.phar运行时,我们得到了什么: Codeception PHP测试框架v1.6.5由Sebastian Bergmann的PHPUnit 3.7.23提供支持。PHP注意:在第163行的phar://C:/wamp

  • 我试图在每个测试套件开始时进行一个API调用,但没有找到这样做的方法。在我的模块中,我重载了方法,但是当我试图从REST模块调用时,我得到了错误。我的模块类看起来像这样: 这给了我一个PHP错误: 对/../vendor/codeception/codeception/src/codeception/Module/REST.php:476中的非对象调用成员函数request() 我如何在\u be