2016-03-24 17 views
-1

Bir süper kullanıcı olarak oturum açmayı daha hızlı belirleyen kodek işlevli işlev sınamaları için bir yardımcı sınıf oluşturmaya çalışıyorum. İşte benim yardımcım:Codeception: Bir Yardımcı sınıfında amLoggedAs nasıl kullanılır

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

Ancak bu işe yaramaz. $this->amLoggedAs(['username' => 'super', 'password'=> 'password']); bildirimini normal bir sınamada kullandığımda, kullanıcı beklendiği gibi günlüğe kaydeder, ancak $I->amSuperAdmin() kullandığımda bunu yapmakta başarısız olur. Hata yok; Bu yöntem, oluşturulan FunctionalTester sınıfımda görülebilir. Kodu izlediğimde, Laravel5 :: amLoggedAs yönteminde geçen kimlik doğrulamasını görebiliyorum, ancak kimlik doğrulama başarısız olmuş gibi, sınama uygulamanızın giriş sayfasına yönlendiriliyor.

Neyi yanlış yapıyorum?

cevap

0

Yardımcınız Laravel5 modülü farklı bir nesnedir, sen Laravel5 modülünün örneğini almak ve yöntemini çağırmalıdır:

class Laravel5Helper extends \Codeception\Module { 
    public function amSuperAdmin() { 
     $this->getModule('Laravel5')->amLoggedAs(['username' => 'super', 'password'=> 'password']); 
    } 
} 
İlgili konular