5

次のプロジェクトでは、PHPUnit(Jenkinsを使用)を使用することにしました。さまざまなPHPフレームワークを検討していますが、その1つがCodeIgniterです。多く人がMyCIUNITを使用PHPUnit とCodeigniterを「ブリッジ」しているようです。オンラインドキュメントにはほとんど、またはまったく説明がありません。

なぜそれが必要なのですか?

他のフレームワークは、このような「クールなブリッジ」を必要としないようです。

4

1 に答える 1

10

理由:

  1. Codeigniter のコンポーネントは密結合されています。他のパーツを使用する前に、いくつかの大きな基本パーツ (ローダー、ルーター、CFG オブジェクト) を実行する必要があります。
  2. Codeigniter は、CLI から実行するようには設計されていません。index.php フロントコントローラーには大量のブートストラップ コードがあり、Web サーバー環境を前提としています。

CI の単体テストに CIUNIT が絶対に必要というわけではありません。しかし、あなたは何かをしなければならないでしょう。私の場合は、CI スーパーオブジェクトを取得するために最低限必要なものをロードするだけの代わりのフロント コントローラーを index.php に書きました。私require_onceはテストファイルの先頭とメソッドでそれを$this->CI =& get_instance()行います。SetUp()ただし、私が完全に純粋な単体テスト担当者である場合は、何らかの状態がトラップされた場合に備えて、テストのたびに CI オブジェクトを破棄して再作成する必要があります。CIUNIT がこれを行うかどうかはわかりません。

于 2012-07-05T13:57:28.873 に答える