OpenCoverを使用して、単純な C# プロジェクトのコード カバレッジを判断しています。
問題
MSTest が単体テストを実行している (そして成功している) ことはわかりますが、生成されたレポートは空です。
詳細
これは私が使用しているコマンドです:
opencover.console.exe -register -arch:32
-target:"%VSINSTALLDIR%\Common7\IDE\mstest.exe"
-targetargs:"/testcontainer:calculatortest.dll"
-filter:+[calculator.dll]* -output:coverage.xml
出力
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading calculatortest.dll...
Starting execution...
Results Top Level Tests
------- ---------------
Passed CalculatorTest.StatisticsTest.AddOccurrenceTest
Passed CalculatorTest.StatisticsTest.AvgTest
2/2 test(s) Passed
Summary
-------
Test Run Completed.
Passed 2
---------
Total 2
Results file: e:\Users\erno\Documents\Visual Studio 2010\Projects\CodeStatistics\CalculatorTest\bin\Debug\TestResults\erno_ERNO01 2011-07-01 14_27_06.trx
Test Settings: Default Test Settings
Visited Classes 0 of 0 (NaN)
Visited Methods 0 of 0 (NaN)
Visited Points 0 of 0 (NaN)
生成されたレポートの内容:
<?xml version="1.0" encoding="utf-8"?>
<CoverageSession xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VisitPoints />
</CoverageSession>
環境
コードは Windows 7 64 ビットで実行されていますが、32 ビットの Visual Studio コマンド プロンプト環境で実行されます。
EDIT単体テストのデバッグ ビルドを含むディレクトリでコマンドを実行しており、OpenCover ディレクトリを環境パスに追加しました。
私が試したこと
PartCover で同様の問題を検索しましたが (OpenCover は一種のブランチのように見えるため)、問題に一致するものを見つけることができず、解決策を示しました。
編集私はより広いフィルターでもテストしました-filter:+[*]*
が、これは出力をまったく変更しませんでした。
編集ここで述べたように、MSTest/noisolation
引数でもテストしました。まだ結果が出ていません。
編集フィルターを完全に削除し、デフォルトのフィルターに戻すこともテストしました。結果がありません。