2

VisualStudioにWindosServiceProjectがあります。サービスをインストールしないとサービスを開始できないため、コードの変更をテストする場合は、古いサービスをコンパイルしてアンインストールし、新しいサービスを何度もインストールする必要があります。これは永遠にかかります。

Windowsサービスをテストする簡単な方法はありませんか?ありがとうございました

4

2 に答える 2

2

コンソール アプリケーションとして VS からサービスを実行します。実際、頭が良ければ、次のことをテストできます。

Environment.UserInteractive

このようにして、単純な「if」を使用して、対話モードで実行する場合、またはサービスとして実行する場合は通常のサービスの起動を実行する場合、Windows サービスを使用せずに、サービスを正常に実行できます。

于 2012-09-08T14:11:36.707 に答える
1

サービスをテストするときは、通常、機能をホスティングから分離することをお勧めします。そして、独立した方法で機能をテストします。

これが意味することは、おそらく OnStart でワーカー スレッドを生成し、このスレッドがサービスの実際の動作を表すいくつかのクラス メソッドをインスタンス化して呼び出すことです。技術的には、このロジックは、実行場所、コンソール アプリ、Windows サービス、Web サービスなどを明示的に気にする必要はありません。

II は、このロジックを直接テストすることをお勧めします。たとえば、ロジックがビジュアル スタジオ自体によってホストされている単体テストでテストすることをお勧めします。これは、サービスをテストするべきではないことを示唆しているわけではありませんが、これは手動または自動で行うことができます。特に QA またはサニティ テストでは、実行に時間がかかるテストを実行しても問題ありません。

于 2012-09-08T14:15:39.677 に答える