CakePHP3、loginコントローラのテストを書いていたときに嵌った【未解決】

cake3 で login機能を備えているコントローラのテストを書いているときに嵌った

  • fixture には生のパスワード入っている
  • その生のパスワードがそのまま入る(←hashがかかると思い込んでいた)
  • $this->post('/users/login', ['username' => 'admin', 'password' => 'password']) のパスワードは hashがかかる

ということでログインで、ログインできるはずなのにテストが通らず随分悩んでいた。

以下のような形で回避しようとしているけど、どれでいこうか悩み中

  • fixture に hash化されたパスワードを入れる?
  • fixture がinsert される時にハッシュがかかるようにする?
  • Auth#identify() でハッシュされないように mock 作る?