0

クライアント/サーバー アプリケーションでは、サーバー側は Web サービスのコレクションによって公開されます。クライアントは、アプリケーション コンテキストと呼ばれるものとやり取りして、サーバーを呼び出します。受け入れテスト中にアプリケーション コンテキストをモックして、クライアントからサーバー、データベースへとテストをフローさせ、データベースを実行したい各テストの正しいデータ。

これは可能ですか?それとも、別のアプローチをとるべきですか?

4

1 に答える 1

2

White は、サポートされている任意の GUI を調べる Microsoft UI オートメーションを使用して実行します。その下のコードについてはまったく気にしません。また、単体テストでできるのと同じ方法でそのコードを操作することはできません。

通常、.exe を介してアプリケーションを起動し、White を使用して自動化します。クライアントだけで起動するには、モックアウトされたアプリケーション コンテキストでプロセス自体を起動する必要があります。これは、それに応じて .exe をコンパイルするか、2 つの異なる実行可能ファイルを用意することを意味し、そのうちの 1 つはパッケージを正しく構成し、もう 1 つは構成しません。

データベースがなければ、実際には受け入れテストを実行していません。つまり、コードが本番環境に受け入れられる良好な状態にあることを確認するテストです。したがって、データベースのモックアウトについて心配する必要はありません。

私はこれらのアプローチのいずれかを取ります:

  • テスト実行ごとにデータベースを再作成し、必要に応じて適切なコンテキストを入力します

  • テストによって生成されたデータに日時のタグを付けて、通常のデータと区別できるようにします

  • リクエストに対して固定応答で応答するサーバーのモック バージョンを作成し、代わりにそれを使用するようにアプリケーションに指示します (おそらくコマンド ライン引数のみを使用)。これは、すべてがデータベースで機能することをまだ確認していないことに注意してください。エラー処理を表示したいだけの場合や、別のチームがサービスの作成を担当する場合に適しています。

とにかく、これらのアイデアが役に立ち、オプションを提供してくれることを願っています!

于 2010-11-14T18:28:59.807 に答える