$Date: 2018-07-07 06:49:13 +0900 (2018/07/07 (土)) $
$Revision: 1347 $
OpenCover の複数の結果を統合
OpenCover のインストール方法に関しては ここ を参照してください。
テストに使用するプログラム
テストプログラムとして https://github.com/m-tmatma/OpenCoverTest を用意しました。
https://github.com/m-tmatma/OpenCoverTest.git を git clone して OpenCoverTest2\OpenCoverTest2.sln を開いてコンパイルします。
namespace OpenCoverTest2
{
class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
try
{
int index = Int32.Parse(args[0]);
Console.WriteLine(Class1.GetString(index));
}
catch (FormatException)
{
Console.WriteLine("{0}: Bad Format", args[0]);
}
catch (OverflowException)
{
Console.WriteLine("{0}: Overflow", args[0]);
}
}
}
}
}
namespace OpenCoverTest2
{
public class Class1
{
public static string GetString(int index)
{
if (index == 0)
{
return "String1";
}
else
{
return "String2";
}
}
}
}
複数の実行結果をマージして結果に整形する
-output で出力先の xml ファイルを指定する
コマンドライン引数で 0 を渡す
C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug>OpenCover.Console.exe -target:"OpenCoverTest2.exe" -register:user "-targetargs:0" -output:results0.xml
Executing: C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug\OpenCoverTest2.exe
String1
Committing...
Visited Classes 2 of 2 (100)
Visited Methods 2 of 2 (100)
Visited Points 14 of 24 (58.33)
Visited Branches 4 of 6 (66.67)
==== Alternative Results (includes all methods including those without corresponding source) ====
Alternative Visited Classes 2 of 2 (100)
Alternative Visited Methods 2 of 4 (50)
-output で出力先の xml ファイルを指定する
コマンドライン引数で 1 を渡す
C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug>OpenCover.Console.exe -target:"OpenCoverTest2.exe" -register:user "-targetargs:1" -output:results1.xml
Executing: C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug\OpenCoverTest2.exe
String2
Committing...
Visited Classes 2 of 2 (100)
Visited Methods 2 of 2 (100)
Visited Points 14 of 24 (58.33)
Visited Branches 4 of 6 (66.67)
==== Alternative Results (includes all methods including those without corresponding source) ====
Alternative Visited Classes 2 of 2 (100)
Alternative Visited Methods 2 of 4 (50)
* 指定で複数の結果ファイルを指定して HTML に整形する
C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug>ReportGenerator.exe --reports:results*.xml --targetdir:html3
Loading report 'C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug\results0.xml'
Preprocessing report
Initiating parser for OpenCover
Current Assembly: ClassLibrary
Current Assembly: OpenCoverTest2
Loading report 'C:\gitwork\OpenCoverTest\OpenCoverTest2\bin\Debug\results1.xml'
Preprocessing report
Initiating parser for OpenCover
Current Assembly: ClassLibrary
Current Assembly: OpenCoverTest2
Initializing report builders for report types: Html
Analyzing 2 classes
Creating report 1/2 (Assembly: ClassLibrary, Class: OpenCoverTest2.Class1)
Creating report 2/2 (Assembly: OpenCoverTest2, Class: OpenCoverTest2.Program)
Creating summary
Report generation took 0.4 seconds
テスト結果
生成した html ファイル です。