私たちが開発してきた方法では、PHPファイルの多くは内容を出力することを期待しているだけです。メソッドは呼び出されません。私の質問は、PHPUnit
でこれをテストする "正しい"方法は何ですか? setUp
にrequire
を入れて、実行するまで待つか、悪いmojoと見なすべきですか?PHPテスト出力するファイルのみを含める
答えて
これは、テストできる唯一の方法です。 output bufferingを使用して、作成されたコンテンツをキャプチャして期待通りに確認できると思っています。
最も一般的な方法でPHPUnitからテストするのに適した、呼び出し元に結果を返す自己完結型のクラス/関数でできるだけ多くの作業が行われるように、コードをリファクタリングするのが最も良い方法です。
最終的には、そのリファクタリングが目標です。私たちはまだそれに近いところにいません。 –
私はそのようなコードで作業しました。 :-) –
アプリケーションがWebアプリケーションの場合(ブラウザが読み込み可能なコンテンツを出力する場合)、PHPUnitはSeleniumと統合されています。これはWebアプリケーションテストシステムです。それは本当に非常に便利です。特にFirefoxプラグインがあるためです。
PHPUnitとSeleniumについてはPHPUnit Manualで詳しく読むことができます。
テンプレート(つまりインクルードファイル)がコマンドラインスクリプトで使用されている場合は、output_bufferingと正規表現アサーションまたは正規アサーション(assertRegExp、assertEquals)を使用します。
- 1. 入力ファイルと出力ソリューションでテストするためのスクリプト
- 2. テスト固有のファイルを出力する
- 3. エンティティフレームワークの移行:Goステートメントのみを-Script出力に含める
- 4. PHP内にPHPファイルを含める
- 5. jsonへのコマンド出力を含める
- 6. カルマ/ジャスミンにテストを実行するPHPファイルを含めるには?
- 7. PHP:コンポーザーなしのファイルを含める
- 8. 上のフォルダに.phpファイルを含める
- 9. 出力にパスとCMakeを含める
- 10. ls出力に改行を含める?
- 11. JSON出力にget_absolute_url値を含める
- 12. 出力シートにソースシート名を含める
- 13. 特定のファイルを出力APKに含めるためのAndroidアプリのフレーバー
- 14. knitr:目的の出力が失敗したテストを含めるPDF
- 15. SuiteCRMにPHPとJSファイルを含める
- 16. LaravelフレームワークにPHPファイルを含める
- 17. カスタムPHPファイルを含めるには?
- 18. TwigテンプレートにPHPファイルを含める
- 19. PHP.iniにPHPファイルを含める
- 20. 出力ファイルの出力をカスタムファイルからphpのshell_exec経由で出力する
- 21. ファイルへのPHPスクリプト出力の出力
- 22. 複数の行を含むファイルを読み込んでJLabelに出力する
- 23. txtファイルにprint_rの出力を書き込みます。 PHP
- 24. jQueryのポストメソッドを呼び出すPHPファイル名を出力する
- 25. Python:ファイルから行を読み込み、出力ファイルを出力ファイルに出力するかどうかを他のファイルにチェックする
- 26. ヘッダーテンションファイルにPHPファイルを含めます
- 27. javascriptなしで別のHTMLファイルにHTMLファイルを含める、PHP
- 28. 関数ファイルの末尾にテンプレートPHPファイルを含める
- 29. 単体テスト用の外部.jsファイルを含める
- 30. 出力メッセージに入力メッセージを含める
これは使用できません=> http://www.phpunit.de/manual/current/en/testcase-extensions.html#testcase-extensions.output? – Alfred
@Alfred私はそれを使用しています。私の質問は、「必要」を持つ適切な場所についてです。 –
ええ、それは(今のところ)それのようにする必要があります。 require_onceを使った方が良いと思います。しかし、出力バッファリングは、今後どのようにテストを書くべきかではないことを指摘したいと思います(しかし、あなたはすでにそれを理解していると思います)。 – Alfred