2015-08-28 101 views
5

我使用的測試codecept功能測試我的yii2.I的API把硬編碼的測試參數這樣如何自動化yii2中的功能測試?

use tests\codeception\backend\FunctionalTester; 
$I = new FunctionalTester($scenario); 
$I->wantTo('Check when authenticated'); 
$I->sendPOST('/login', ['password' => '11111111', 'email'=>'[email protected]']); 
$I->seeResponseCodeIs(200); 
$I->seeResponseIsJson(); 
$I->seeResponseContains('"result"'); 
$I->seeResponseContains('"message"'); 
$I->haveHttpHeader('Accept','application/json'); 
$I->seeResponseContains('"message":"OK"'); 

我想給那個論點,而我通過運行運行codecept功能loginCept或保存測試用例該參數在一個文件中,並在運行測試時分配給測試用例。我應該如何實現這一點?

+0

我有同樣的問題,如何自動化yii2中的功能測試? –

回答

2

你可以在path/to/your/project/tests/codeception/config中創建一個名爲let's say params.php的文件。然後PARAMS添加到新創建的文件:

<?php 
    return [ 
     'login.email' => '[email protected]', 
     'login.password' => '111111' 
    ]; 

在您的路徑/到/你/項目/測試/ codeception /配置/ config.php文件把這個:

<?php 
    return [ 
     'components' => [ 
      ... 
     ], 
     'params' => require(__DIR__ . '/params.php'), 
    ]; 

使用它在您的測試代碼與在常規Yii應用程序中調用params的方式相同。無論是單元,功能等都沒關係。

Yii::$app->params['user.login'];