次のコードを使用して、UsersController のログイン アクションをテストしています。
public function testLogin() {
$data = array('User' => array(
'username' => 'hello',
'password' => '411'
)
);
$this->Users = $this->generate('Users',array('components'=> array('Auth','Session')));
$this->Users->Auth->staticExpects($this->once())
->method('user')
->with('id');
$this->testAction('/users/login', array('data' => $data, 'method' => 'post'));
}
そしてフィクスチャは-
class UserFixture extends CakeTestFixture {
public $import = array('model' => 'User', 'records' => true, 'connection' => 'fixture');
}
そしてアクションは-
public function login() {
if($this->request->is('post')) {
if($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
} else {
return false;
$this->Session->setFlash(__('Wrong Username Or Password,Please Try Again'));
}
}
}
いつも見せてる
メソッド名の期待に失敗しましたが、1 回呼び出されたときと同じです。メソッドは 1 回呼び出されると予想されていましたが、実際には 0 回呼び出されました。
何が問題なのですか?解決策が見つかりません。理由も教えてください。助けてください。