0

Admin Console から次のコマンド ライン (わかりやすくするために折り返されています) を使用して OpenCover を実行しています。

packages\OpenCover.1.0.625\OpenCover.Console.exe -register:user -target:packages\NUnit.2.5.10.11092\tools\nunit-console.exe -targetargs:"FooProject.nunit" -filter:+[ ] -出力:coverage.xml

以下の出力が得られますが、指定されたcoverage.xmlファイルが作成されていません。

出力ファイルが作成されないのはなぜですか?

更新この質問への回答
で提案されているように、32ビットと64ビットの両方のプロファイラーを登録し、フラグを削除しましたが、それでも同じ出力が得られます-register

NUnit バージョン 2.5.10.11092
Copyright (C) 2002-2009 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk、Michael C. Two、Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
全著作権所有。

ランタイム環境 -
OS バージョン: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR バージョン: 2.0.50727.5446 (Net 2.0)

ProcessModel: デフォルト DomainUsage: デフォルト
実行ランタイム: デフォルト
..........F....FF........F... .........F..F..F......
テストの実行: 58、エラー: 0、失敗: 7、不確定: 0、時間: 1.5298027 秒
実行しない: 0、無効: 0、無視: 0、スキップ: 0

エラーと失敗:
1) テストの失敗:
C:\FooProject\FooProject.Tests\Controllers\BarControllerTests.cs:line 27 の FooProject.Tests.Controllers.BarControllerTests.Index() の FooProject.Tests.Controllers.BarControllerTests.Index

2) テストの失敗:
C:\FooProject\FooProject.Tests\Controllers\FringControllerTests.cs:line 107 の FooProject.Tests.Controllers.FringControllerTests.Index() の FooProject.Tests.Controllers.FringControllerTests.Index

3) テストの失敗: FooProject.Tests.Controllers.FringControllerTests.Save
at FooProject.Tests.Controllers.FringControllerTests.Save() in C:\FooProject\FooProject.Tests\Controllers\FringControllerTests.cs:line 135

4) テストの失敗:
C:\FooProject\FooProject.Tests\Repositories\FringRepositoryTests.cs:line 17 の FooProject.Tests.Repositories.FringRepositoryTests.Foo() の FooProject.Tests.Repositories.FringRepositoryTests.Foo

5) テストの失敗:
C:\FooProject\FooProject.Tests\Services\BarServiceTests.cs:line 52 の FooProject.Tests.Services.BarServiceTests.Frob() の FooProject.Tests.Services.BarServiceTests.Frob

6) テストの失敗: FooProject.Tests.Services.FringServiceTests.Frob
at FooProject.Tests.Services.FringServiceTests.Frob() in C:\FooProject\FooProject.Tests\Services\FringServiceTests.cs:line 39

7) テストの失敗: FooProject.Tests.Services.FringServiceTests.Frob at FooProject.Tests.Services.FringServiceTests.Frob() in C:\FooProject\FooProject.Tests\Services\FringServiceTests.cs:line 139

コミットしています....

4

1 に答える 1

2

おそらく、PDB がないためにプロファイラーがアセンブリをインストルメント化していないことが原因です。

OpenCover は、PDB が存在するアセンブリのみをプロファイルします。

Nunit は、テストの前にアセンブリを別の場所にコピーしますが、PDB はコピーしません。/noshadowオプションを使用してみてください。

注: +[ * ]*オプションを避けることもできます。これは、PDB を持つすべてのアセンブリ (テスト アセンブリ、ターゲット アセンブリ、およびその他のサード パーティ アセンブリ) の計測を取得する可能性があるためです。これにより、テストが発生します。ゆっくりすること。


2011 年 8 月 28 日 - これを opencover テストでテストしたところ、.nunit ファイルはシャドウ コピーを実行するため、PDB ファイルは見つかりませんでした .

また、.nunit ファイルのデフォルト構成にすべてのテストが含まれていることを確認してください。

于 2011-08-27T12:17:55.630 に答える