問題タブ [integration-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 単体テストを可能にするために中間層とデータセットを分離する方法は?
SOで、中間層を DataSet に配線する方法を尋ねる質問があります。
私が思いついたことを示す答えを出しましたが、密結合に満足していません. テストを始めたばかりで、コードの良い目標であることがわかりました。
単体テストを可能にするために、このコードをどのように分離しますか?
ありがとう、
キース
java - Mavenでの統合テスト中に外部プロセスを開始する
Mavenプロジェクトの完全に自動化された統合テストが必要です。統合テストでは、実行する前に外部(プラットフォームに依存する)プログラムを開始する必要があります。理想的には、単体テストが終了した後に外部プログラムを強制終了しますが、必須ではありません。
これを実現するためのMavenプラグインはありますか?他のアイデア?
c# - SQLite :memory: を NHibernate で使用する際の問題
私は自分のデータアクセスに NHibernate を使用していますが、しばらくの間、ローカル統合テストに SQLite を使用していません。私はファイルを使用してきましたが、:memory: オプションを削除すると思いました。統合テストのいずれかを起動すると、データベースが作成されたように見えますが (NHibernate はテーブル作成 SQL を吐き出します)、データベースとやり取りするとエラーが発生します。
NHibernate をインメモリ データベースで動作させた人はいますか? それは可能ですか?私が使用している接続文字列は次のとおりです。
ruby-on-rails - Selenium: Selenium RC ruby ドライバーの wait_for_* と仲間たち
Selenium RC の ruby ドライバー用の、、、 ... のような気の利いたSelenium on Railsメソッドの実装はありますか?wait_for_visible
assert_not_text_present
そうでない場合、wait_for_visible のようなものをどのように実装しますか?
unit-testing - 単体テストはあなたにとって何を意味しますか?
こんばんは
私は、単体テストという用語を非常に大まかに使用しているオフショア開発者のグループと協力しています。
彼らの QA ドキュメントでは、単体テストの作成とシステムの単体テストの実行について説明しています。
これは、単体テストとは何かという私の解釈とはまったく一致しません。
私は、単一のクラス (通常はブラック ボックス) を実行するために使用されるテストまたは一連のテストである単体テストに慣れています。テスト対象のクラスは、実装によって他のクラスを含める必要がある場合がありますが、通常、単体テストによって実行されるのは単一のクラスです。
次に、システム機能テスト、統合テスト、受け入れテストなどがあります。
これは私の側では少し衒学的なことですか?それとも、単体テストと単体テストについて言及するとき、これはあなたが考えるものですか?
編集:ロブ・ウェルズ。このようなテストをブラック ボックスの観点からアプローチすることは、1 つの側面にすぎないことを明確にする必要があります。モック オブジェクトを使用して内部の動作を検証する場合、実際にはホワイト ボックスの観点からテストしていることになります。
database - データベース クエリのテストに使用するベスト プラクティスは何ですか?
私は現在、レイヤーの「全範囲」(UI、中間、遍在するデータベース) を持つソリューションをテストしている最中です。
私が現在のチームに到着する前に、さまざまな関連性ルール、並べ替えなどに基づいて、ストアド プロシージャが返す必要がある結果セットを理論的に返すクエリを手動で作成するテスターによって、クエリ テストが行われました。
これには、問題の実際のクエリに対してよりも、テスターのクエリに対してより頻繁にバグが報告されるという副作用がありました。
私は、既知の結果セットを実際に操作して、存在するデータを制御するため、それがどのように返されるかを推測できるようにすることを提案しました.
人々は、開発者が作成したものをテストするために独自のクエリを作成することにまだ固執していました。私は多くがまだそうであると思います。これはまったく理想的ではなく、テストのフットプリントを不必要に増やすだけだと思います。
ですから、このようなシナリオをテストするためにどのような方法を使用していますか?また、無秩序なデータを導入することなく、得られる最高のエンドツーエンドのカバレッジには何が理想的であると考えられますか?
私が抱えている問題は、どのテストを行うのに最適な場所かということです。サービスを直接突っ込んで、そのデータセットをストアド プロシージャから取得できるデータセットと比較するだけですか? 私は大まかなアイデアを持っており、これまでのところ十分に成功していますが、ここでまだ重要なものが欠けているように感じます.より良い。
jdbc - 統合テストのためにデータベースの失敗を扇動する
統合テスト(この場合、WebサービスがJDBCと通信している)を実行するとき、結果として生じる石鹸の障害を検査できるように、データベースにエラーをスローさせるにはどうすればよいですか?
私はSpringのTransactionalTestFrameworkを使用しているので、それDROP TABLE whatever;
を破るために単に発行するのは不合理でしょうか?:D
java - Web サービス コンシューマのテスト
Web サービスの利用者をテストするために私が見つけたいくつかのツールを次に示します。
http://www.soapui.org/ https://wsunit.dev.java.net/
他にもありますか?Java または Python で記述されたフレームワークをテストすることを好みます。
java - 単体テスト vs Spring との統合テスト
私は Spring MVC プロジェクトに取り組んでおり、ソース ツリー内のさまざまなコンポーネントすべての単体テストを行っています。
たとえば、コントローラーHomeController
を挿入する必要があるLoginService
場合、単体テストではHomeControllerTest
、オブジェクトを通常どおり (Spring の外部で) インスタンス化し、プロパティを挿入します。
これは、各コンポーネントを分離されたユニットとしてテストするのに最適です-プロジェクトに数十のクラスがあることを除いて、クラスを作成し、それに対して成功したユニットテストを作成した後、Spring MVC コンテキストファイルを更新するのを忘れ続けます展開されたアプリケーションでの実際の接続。プロジェクトを Tomcat にデプロイし、接続されていない Bean から多数の NullPointer を見つけたときに、コンテキスト ファイルを更新するのを忘れていたことに気付きました。
だから、ここに私の質問があります:
これは私の最初の Spring プロジェクトです。私が行ったように、個々の Bean の単体テストを作成してから、2 番目のテスト スイート (統合テスト) を作成して、すべてが実際のアプリケーション コンテキストで期待どおりに機能することをテストするのは正常ですか? これに対する確立されたベストプラクティスはありますか?
さらに、単体テストを統合テストからどのように分離しますか? すべてのソース コードは
src
にあり、ユニット テストはにあります。統合テスト ケース用にtest
2 つ目のテスト フォルダ ( など) が必要ですか?test-integration
これは私の最初の Spring プロジェクトなので、他の人が通常この種のことをどのように行っているのか興味があります。車輪を再発明するのではなく、コミュニティの他のメンバーに尋ねます。
java - 自動化された統合テストに JUNIT を使用できますか?
統合テストをどのように自動化しますか? これらのテストの一部には JUnit を使用しています。これは解決策の1つですか、それとも完全に間違っていますか? 何を指示してるんですか?