2016-05-09 8 views
0

phpとjavascriptの両方を使用するアプリケーションがあります。このアプリケーションのテストケースを記述したい場合私は両方(phpコードのためのphpunitテストケースとjavascriptコードのためのジャスミンテストケース)を書く必要がありますか? 。phpとjavascriptの両方を持つアプリケーションのテストケース

私はテストcases.Pleaseヘルプを起動する方法だけでは明らかではないよリンクからhttps://phar.phpunit.de/phpunit.phar

をPHPUnitのをダウンロードしています。 リンクhttps://softwareengineering.stackexchange.com/questions/28306/can-i-test-effectively-javascript-functions-with-a-php-unit-testing-frameworkから、彼らは、JavaScriptコード用のJavaScriptテストケースとPHPコード用のPHPテストケースを作成する必要があると言います。しかし、私のJavaScriptコードは、PHPコードの間にあります。テストケースを作成して実行するにはどうすればよいですか?

答えて

0

最初の重要な概念です:テストする、あなたのコードを実行する必要があり、そのためにあなたは、それぞれの場合に必要な環境を使用する必要があります:phpのため

  • :通常、PHPのコマンドライン実行可能
  • をJavaScriptが
  • :あなたはこの明確になったら、実際のブラウザ、PhantomJSのようなヘッドレスブラウザ、または

をNode.jsの、それがどのようにセットアップのテストをするために理解するのは簡単です。あなたのPHPファイルとクラスをテストするためにPHPUnitを使用し、JavascriptコードをテストするためにあなたのJavascriptフレームワークを使用してください。 PHPコードと混合されたJavascriptコードについて

:厳密に

  • を、Javascriptのコードは最終的にそれはPHPで書かれている場合でも、ブラウザに送信されます。したがって、Javascript環境で実行してテスト可能である必要があります。

  • 実際には、これはおそらく、Javascriptコードがバックエンドコードから分離されておらず、おそらくオブジェクトと懸念の分離を使用していない構造化されていないアプリケーションを示していると思われます。これにより、コードをテストするのが非常に難しくなります。

IMOテストの最も難しい部分は、実際のテストを記述するのではなく、テスト可能なコードを書くことができます。あなたのコードがオブジェクトを使用していない場合、何らかの依存性注入、HTMLとJavascriptコードを書くためのテンプレートがバックエンドコードから完全に分離されていない場合は、テストしようとすると時間がかかるでしょう。私のアドバイスは、ベストプラクティスを使用してアプリの一部を書き直し、テストすることです。フレームワークを使用すると、通常、フレームワークが懸念の分離を強制し、通常は単体テストを統合するので役立ちます。

関連する問題