2016-03-24 11 views
-1

スーパーユーザーとしてログインを指定するためのコードテスト機能テスト用のヘルパークラスを作成しようとしています。ここに私のヘルパーです:暗号化:ヘルパークラスでamLoggedAsを使用する方法

class Laravel5Helper extends Laravel5 { 
    public function amSuperAdmin() { 
     $this->amLoggedAs(['username' => 'super', 'password'=> 'password']); 
    } 
} 

しかし、これは動作していないようです。通常のテストで$this->amLoggedAs(['username' => 'super', 'password'=> 'password']);という宣言を使用すると、期待通りにユーザーがログインしますが、$I->amSuperAdmin()を使用すると失敗するようです。エラーはありません。このメソッドは私の生成されたFunctionalTesterクラスで見ることができます。私がコードをトレースすると、Laravel5 :: amLoggedAsメソッドで渡された認証を見ることができますが、認証は失敗したようにテストは私のアプリケーションのログインページにリダイレクトされます。

私は間違っていますか?

答えて

0

あなたのヘルパーはLaravel5モジュールとは異なるオブジェクトであり、 あなたはLaravel5モジュールのインスタンスを取得し、そのメソッドを呼び出す必要があります:

class Laravel5Helper extends \Codeception\Module { 
    public function amSuperAdmin() { 
     $this->getModule('Laravel5')->amLoggedAs(['username' => 'super', 'password'=> 'password']); 
    } 
} 
関連する問題