Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 升级到2.2.5后,在集成测试中无法访问Codeception$env_Php_Phpunit_Codeception - Fatal编程技术网

Php 升级到2.2.5后,在集成测试中无法访问Codeception$env

Php 升级到2.2.5后,在集成测试中无法访问Codeception$env,php,phpunit,codeception,Php,Phpunit,Codeception,我已将我的codeception版本从2.1.7升级到2.2.5。在一个集成测试用例中,我正在使用以下工具访问当前环境: $this->env 它在2.1.7版本中运行良好,但在2.2.5版本中,我遇到了错误: Undefined property: tests\integrational\AutoBillerTest::$env 我查了一下图书馆,发现了那个 vendor/codeception/codeception/src/codeception/TestCase/Shared/Acto

我已将我的codeception版本从
2.1.7
升级到
2.2.5。
在一个集成测试用例中,我正在使用以下工具访问当前环境:

$this->env

它在
2.1.7
版本中运行良好,但在
2.2.5
版本中,我遇到了错误:

Undefined property: tests\integrational\AutoBillerTest::$env
我查了一下图书馆,发现了那个

vendor/codeception/codeception/src/codeception/TestCase/Shared/Actor.php

文件在当前版本中不存在,但在以前的版本中存在。此Actor类包含$env变量

我尝试使用以下命令生成actor类:

$codecept构建


尽管如此,Actor类仍然没有生成。

测试格式在Codeception 2.2中被完全重构,并且Actor特性已经消失

在2.2环境中,可以从Cept和Cest格式的\Codeception\Scenario中检索,也可以从单元格式的\Codeception\Metadata中检索(Scenario也可以从元数据中获取)

单位格式:

$this->getMetadata()->getEnv()
在Cept格式中,$scenario变量始终可用,所以您只需执行以下操作即可

$scenario->current('env');
在Cest格式中,必须注入变量
$scenario

public function tryToTest(UnitTester $I, \Codeception\Scenario $scenario)
{
    $scenario->current('env');
}
场景的用法是。

$this->getMetadata()->getEnv()返回一个空数组。请提出一个问题,因为这是一个非常具体的问题。