2012-02-09 12 views
6

CodeIgniterにはUnit Testingクラスが組み込まれていますので、使用したいと思います。しかし、私がテストしたいほぼすべての機能は、レコードを追加したり、レコードを削除したりして、データベースと対話します。例えば、テストを実行するたびに実際にユーザーを作成せずに、データベース駆動型ユニットでのユニットテストCodeIgniter Webアプリケーション

今後の研究では、データベースなどの外部サービスにMockオブジェクトを使用する必要があるようです。この1つのフォーラムの他に、ドキュメントの方法で多くを見つけることができませんでしたスレッド: http://codeigniter.com/forums/viewthread/106737

実際のドキュメントはありますか?

+0

これは、ユニットテストにどのフレームワークを使用するかによって異なります。あなたはまだ1つを選んだのですか? –

+0

私がドキュメントを誤解していない限り、CodeIgniterには独自のユニットテストフレームワークが組み込まれていますが、それは間違っていますか? – Mala

+0

CodeIgniter 2には、実際にテストフレームワークが組み込まれています。これは私が見たものから完璧ではありませんが、始めるには十分です。モックオブジェクトは理想的な方法ですが、それはCIから欠けているものなので、公式の文書はありません。あなたがリンクした記事は良い出発点のようです。 – cchana

答えて

4

データベースドライバでトランザクションが許可されている場合は、使用してください。テストする必要があるものはすべて実行し、次にロールバックします(成功または失敗の場合)。

コントローラの操作でユニットテストを実行するのは難しいことがわかりました。あなたがそれをする良い方法を見つけるなら、私たちに教えてください!

+0

実際これは本当に良い解決策のようです。単体テストコントローラは簡単ではありませんが、コードの大半をモデルに入れれば、単体テストで問題はありません – Mala

関連する問題