2012-01-12 7 views
1

CodeIgniterのユニットテストが必要です。私はCIUnitを試しましたが、coulnd'tはv1.7.2でセットアップされたフィクスチャを手に入れました。ユニットテストの方法CodeIgniterコード

純粋なPHPUnitを試しましたが、アクティブレコードを継承していたモデルクラスのスタブを作成できませんでした。アクティブレコードが見つかりませんでした。明らかに、アクチバレコードヘルパをロードするコントローラはありません。

Codeigniterでユニットテストを行う方法はありますか?私は単純なテストライブラリについて知っていますが、phpunitと比較するとどれくらい良いですか? 統合テストを行う手段はありますか?

+2

ショートバージョン:あなたは、CodeIgniterのフレームワークは、コントローラなどのコアコンポーネントのユニット・テストを妨げていることができません。コードがこれらのコアコンポーネント(派生物)から拡張されるので、コードもトラップされ、テスト可能なユニットを形成することはできません。 – hakre

答えて

2

FooStackはあなたに役立つアドオンです。それは、備品のための指示を含み、1.7.2(これは古いリリースである、BTW)と互換性があります。

http://www.knollet.com/foostack/

+0

ありがとう、私はfoostackを試し、いくつかのハードルでテスト機能を実行することができた。私にはほとんど問題が残っていません。 $ _POSTデータを使用する関数をテストするにはどうすればよいですか? ViewAllTestsに用意されている例も複雑です。単一のビューをテストする簡単な方法があります。 – aeonsleo

+1

私は実際にfoostackを自分で使用しているわけではないので、このアドバイスを塩分で服用してください。ネイティブPHPを使用してテストに必要な$ _POST配列値を設定できるはずです。 –

+0

Danのアドバイスがこれに役立ちます。 Foostackでは、POST配列を設定してコントローラメソッドをトリガします。組み込みのCIポスト関数は、設定したPOST配列を使用します。モックオブジェクトとSetup/Teardownのダッシュを入れて投げればいいですね。 – willoller

関連する問題