私はCakePHPでユニットテストをしています。私は私のコントローラの2つをテストしたい。私のアプリにはさまざまな種類のユーザーがいます。どのタイプのユーザーがログインしているかによってアプリが返す結果をテストしたいと思いますが、コントローラのテストケースからアプリにログインする方法はわかりません。私は成功なしにいくつかのアプローチを試しました。 1)Usersコントローラを使用してログインしてからテストケースを実行しようとしました.2)コントローラユニットテストでWebテストケースをグループ化しようとしました。特定のユーザタイプに対してCakePHPアプリケーションをテストするにはどうすればよいですか?
非常に助けになるでしょう。
ありがとうございました。
ご返信ありがとうございます。あなたが私がしようとしていることがユニットテストではない理由を説明できるかどうか疑問に思っています。私はコントローラで1つのメソッドをテストしたい。しかし、このメソッドが返すものは、ログインしているユーザーのタイプによって異なります。ユーザーが提示すべきでない情報にユーザーがアクセスできないことをテストします。とにかく、お返事ありがとうございました。 –
コントローラーメソッド(つまりアクション)は、実際には何も返しません。コーディングの意味ではありません。入力を受け取り、任意の数の検証と検査を行い、次に1つ以上のモデルの任意の数の要求を行い、次にビューに沿ってデータを渡します。これを全体としてテストすることは、少なくとも私にとって意味のあることではありません。 –
上記のコメントによれば、モデル内にない限り、ビジネスロジックをテストすることはできません。私は、コントローラーが出力可能でないテスト可能なメソッドを持つことも期待します。これに関する意見は歓迎された。 –