2015-08-28 11 views
5

Ich verwende den codecept Funktionstests für Test meine APIs in yii2.I die Argumente für den Test wie dieserWie automatisiere ich den Funktionstest in yii2?

fest einprogrammiert setzen
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"'); 

ich, dass Argumente geben wollte, während ich den Testfall durch codecept Lauf Funktions loginCept laufen oder speichern diese Argumente in einer Datei und dem Testfall zuweisen, wenn ich den Test ausführe. Wie soll ich das erreichen?

+0

Ich habe das gleiche Problem, Wie automatisiere ich den Funktionstest in yii2? –

Antwort

2

Sie können eine Datei in Pfad/zu/Ihrem/Projekt/Tests/codeception/config namens sagen wir params.php. Dann fügen Sie params auf die neu erstellte Datei:

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

In Ihrem path/to/your/Projekt/Tests/codeception/config/config.php formulieren:

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

Verwenden Sie in Ihrem Test code auf dieselbe Weise, wie Sie in einer normalen Yii-Anwendung params aufrufen. Es spielt keine Rolle, ob es Einheit, Funktion usw. ist.

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