2012-01-05 44 views
3

私はMVVMパターンで.Net 4 WPFアプリケーションを作成し、そのアプリケーションのためのいくつかのユニットテストを書いています。コードカバレッジを有効にし、local.testsettingsで計測を有効にしました。私の問題は、コードカバレッジが正しい結果を返していないように見えることです。それは私のコードの86%が分析されていることを示しています。しかし、ヒットしていないと言っているコードのいくつかがヒットします。それを証明するために、コードにブレークポイントを置き、単体テストのデバッグを行いました。ブレークポイントがヒットしたので、コードは確実にカバーされています。なぜコードカバレッジはコードがヒットしたのを見ないでしょうか?MSテストコードのカバレッジが間違った結果を返す

私はVisual Studio 2010 SP1でこれを試して、テストビューからテストを実行しています。

アイデア?

リクエストごとに、ここにいくつかのコードがあります。これはクラス全体です。コードカバレッジはコンストラクタがヒットしないと言いますが、それはそうです。 "Channel = item;"のブレークポイントユニットテストのデバッグ時にラインがヒットします。

public class ChannelEventArgs : EventArgs 
{ 
    public ChannelEventArgs(IChannel item) 
    { 
     Channel = item; 
    } 

    public IChannel Channel { get; set; } 
} 
+0

コードを参照する必要があります。多くの場合、下位レベルの構造のコード内で行う必要があります。 –

+0

@JamesMichaelHareによれば、関連するコードを見る必要があります。 –

答えて

0

多くの情報があれば、私の推測では、アセンブリの計装に問題があるということです。

に私の答えに項目のリストを確認してください: Running NUnit tests in Visual Studio 2010 with code coverage

特に最初の(「の場所で楽器」)、3番目の項目(単一フォルダにビルド)と最後の項目(コマンドラインオプション/ noshadow)あなたが説明した効果があります。

私はまた、あなたのテストコードは、それぞれのアセンブリをロードする奇数の場合を考えることができますが、その後、あなたはユニットテストを書かれているではないでしょう。

関連する問題