0

データベースからWordのフォームへの入力を自動化するC#のアプリケーションがあります。現在、アプリケーションに単体テストを追加しています。Replace(...)の「単純な」ラッパーであるへの呼び出しが多数ありますRange.Find.Execute(..)。私は他のいくつかのより複雑なメソッドを持っていますが、それらは単なる派手なラッパーReplace(...)であり、それらのほとんどは同じクラスにあり、オブジェクトと開いているリストWordWrapperの割り当てと割り当て解除も処理します。そのようなもののテストを自動化するための良い方法は何ですか? WordApplicationDocument

特に、割り当てと割り当て解除が適切に処理され、Word との通信に問題が発生した場合に適切なエラー メッセージ/例外が表示されるようにしたいと考えています。

更新:割り当て/割り当て解除について心配している理由は、Word は作成/破棄するのにコストのかかるオブジェクトであるため、実際にフォーム ウィンドウの呼び出し間で再利用できるように静的にしたためです。言葉を実行します。

4

2 に答える 2

2

これは自動テスト機能ではないことを強くお勧めします。

私は多くのそのようなシステムに取り組んできましたが、率直に言って、自動化されたソリューションでは見つけられないテキスト置換で発生することがあります。影響を受けるビジネス ユニットの多くの同僚を起草して、更新の QA を行う方がはるかに効果的です。

1 つの例: フォームに 6 文字分のスペースがあるとします。10 を挿入します。検索/置換コードは明らかに機能しました。ただし、文字数がオーバーしたため、ページの構造が完全に台無しになり、1 ページャーだったものが 2 ページになりました...これはおそらく受け入れられないでしょう。

更新:ドキュメント内のテキストを検索/置換するという概念に将来遭遇する可能性があるため、この回答を残しておきます。ただし、質問を(更新とともに)読み直した後、この回答は実際にはまったく当てはまらないと思います。

于 2011-08-25T22:01:24.587 に答える
0

Word からのエラーと例外を正しく処理することをテストする必要がある場合は、テスト用のモック インターフェイスを作成することをお勧めします。

これは実際のインターフェイスのように見えますが、各呼び出しが何を返すかを制御できます。たとえば、「Find xyz」を渡すと「true」が返されますが、「Find 123」を渡すと例外が発生します。次に、コードがこれを正しく処理することを確認できます。

ただし、Word を明示的に対象とするモック フレームワークは知りません。

于 2011-08-25T22:01:39.143 に答える