經過大量的谷歌搜索,我找到了一個令人滿意的解決方案。
隨着CEPT文件,因爲它們不使用類,你必須包括在YAML配置Yii2模塊,但只有部分燈具。
在acceptance.suite.yml:
modules:
enabled:
- WebDriver
- Yii2:
part:
- init
- fixtures
transaction: false
我使用硒,所以我也啓用了模塊的webdriver。我也發現有必要設置transaction: false
,否則我的登錄無效。
(可能由於交易數據不可用於網絡請求)
然後我必須運行build命令以使$I->haveFixtures()
方法可用。
codeception build
我現在可以包括燈具作爲CEPT的一部分文件這樣的:
use tests\fixtures\DBAddressFixture;
use tests\fixtures\DBCustomerFixture;
use tests\fixtures\OAuthClientsFixture;
/* @var $scenario Codeception\Scenario */
$I = new AcceptanceTester($scenario);
$I->wantTo("Check that the account information page exists and works");
$I->haveFixtures([
'customer' => DBCustomerFixture::className(),
'address' => DBAddressFixture::className(),
'auth' => OAuthClientsFixture::className()
]);
關於CEST文件。顯然,它應該像向Cest類中添加_fixtures()
方法一樣簡單,但我沒有嘗試過。
下面是一些有用的鏈接:
Codeception Yii2 Fixtures Documentation
Similar StackOverflow issue 45881907
Yii2 Fixtures Documentation
whattt?像這個問題真的是什麼? –
我試圖重新提出這個問題 –