現在、CIUnit (https://bitbucket.org/kenjis/my-ciunit) を使用して、phpunit で CodeIgniter アプリをテストしています。問題は、同じ名前のコントローラーが複数あることです。"Blog" という名前のルート コントローラー ディレクトリにコントローラーがあり、controller/ajax/ ディレクトリに "Blog" というコントローラーがあります。その理由は、メイン コントローラーからすべての ajax リクエストを分離するためです。
両方のファイルでテストを実行すると、次のエラーが発生します。
PHP 致命的なエラー: でクラスのブログを再宣言できません ...
まあ、私はこのエラーが発生していることに驚いていません。
これを解決するためのオプションは何ですか?
- ajax ディレクトリのコントローラーに「ajax」というプレフィックスを付けます (少しばかげた url/ajax/ajax_blog にしか見えません)。
- 名前空間を使用します (その場合、codeigniter も名前空間にする必要があると思います)
- 3 つの個別の phpunit.xml ファイルを作成します。
これは私が探しているソリューションではありません。他に選択肢はありますか?各テストスイートを個別に実行することは何とか可能ですが、それでも1つのコマンドで実行できますか? テストスイート間でオブジェクトを「きれいにする」ことはできますか? 他に何か?