9
これはどのように行われますか? $_POST
/$_GET
/$_FILES
をセットしてコントローラに渡すだけですか?または、Yiiコントローラーをテストするもう少しエレガントな方法がありますか?Yiiでテストコントローラをユニット化する方法
これはどのように行われますか? $_POST
/$_GET
/$_FILES
をセットしてコントローラに渡すだけですか?または、Yiiコントローラーをテストするもう少しエレガントな方法がありますか?Yiiでテストコントローラをユニット化する方法
通常、ユニットテストはモデル、ヘルパー、コンポーネントなどに対して実行されます。換言すれば、application business logic
を実装するものに対してです。 テストアプリケーションコントローラの場合、よく使用されるプロセスはFunctional Testing
です。
このようなテストの実行に関する詳細は、Yii documentationを参照してください。
簡単に言えば、WebブラウザにURLを開き、テスト後に情報を収集するSeleniumのようなものを使用してください。
コントローラをテストする別のテクニックは、over hereと記載されています。
ちなみにロジックをコントローラに実装するのが難しい場合は、MVCパターンでFat Model
のアプローチを探してください。 More information here。
コントローラのロジックがあまりにも複雑すぎるわけではありません。しかし、ログインした部分の一部にアクセスするには、セッションや何かを偽造しなければならないと思います。私はそれをどうやって行うのか分からない。あなたが言及したリンクをチェックします。 – MrB
PS:私はフォーラムリンクからの男がやっていることをやっています。しかし、このメソッドを使ってwebappの私的な部分にアクセスするにはどうすればログインできますか? – MrB
OPはタイプミスを修正してください。 'documention'は' documentation'でなければなりません。 – Gogol