2016-12-30 37 views
0

我已經升級,從2.1.7我codeception版本2.2.5.在一個整合的測試情況下,我訪問使用當前環境後不整合的測試訪問在2.1.7版本工作正常,但在2.2.5版本我得到錯誤:

Undefined property: tests\integrational\AutoBillerTest::$env 

我在圖書館查,發現

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

文件不存在,在當前的版本,但它存在於以前的版本。這個Actor類包含$ env變量。

我試着用命令生成的演員類:

$codecept build

仍是沒有得到生成的演員類。

回答

0

測試格式在Codeception 2.2中完全重構,演員特質不見了。

2.2環境可以從\ Codeception \ Scenario中以Cept和Cest格式以及\ Codeception \ Metadata以單元格式(場景從元數據中獲取它)檢索環境。

單位格式:

$this->getMetadata()->getEnv() 

在CEPT格式$情景變量始終是可用的,所以你可以簡單地做

$scenario->current('env'); 

在CEST格式$scenario變量必須注射

public function tryToTest(UnitTester $I, \Codeception\Scenario $scenario) 
{ 
    $scenario->current('env'); 
} 

情景的使用是documented

+0

$ this-> getMetadata() - > getEnv()返回一個空數組。 –

+0

請在https://github.com/Codeception/Codeception/issues提出問題這是一個非常具體的問題。 – Naktibalda