1

自動化されたカバレッジ ビルドがありますが、単体テストの数値しか得られません。システムテストもたくさんあります。

これにより、2 つの問題が残ります。一部のコードは、システム テスト (WCF エンドポイント、DB アクセスなど) で使用されているにもかかわらず、カバーされていないように見えます。また、一部のコードは、単体テストでのみ使用されているにもかかわらず、カバーされているように見えます。

これらの単体テストの実行中にそのプロセス(サービス)からカバレッジ番号を取得するように NCover (ビルド サーバー上で実行) を設定するにはどうすればよいですか? すべてのプロセスは同じボックスにあります。

実際、相互に通信する 2 つのサービスがあり、どちらも ASP.NET MVC アプリと IIS でホストされる WCF サービスと通信します。つまり、実際には複数のプロセスです。

(.NET 4.0、x64。NUnit と MSpec を使用。CI サーバーは TeamCity です。)

4

1 に答える 1

2

明確にするために、あちらこちらあちらが同じビルド サーバー上にありますか?

もしそうなら、基本的な問題は複数のサービスをカバーする方法だと思います (単純化しすぎて申し訳ありません)。

そうであれば、残念ながら、NCover 3 は一度に複数のサービスをプロファイリングすることはできません。ただし、各サービスを個別に (同時にではなく順次) カバーしてから、カバレッジ ファイルをマージすることができます。

これは、ビルド スクリプトで NCover を数回実行することを意味しますが、カバレッジの観点からは、それが機能する方法です。

これは役に立ちますか?

于 2012-02-24T16:13:56.877 に答える