質問

解決済み:作業構成については、この質問の下部を見てください


.NET 4.0 C#プロジェクトのFinalBuilderプロジェクトで使用するためにncoverをセットアップしようとしていますが、最終カバレッジ出力ファイルにはカバレッジデータが含まれていません。

使ってます:

すべてのツールは、今日の最新の役人です。

私は最終的にFBを.NET 4.0プロジェクトのNCOVERの下で私のユニットテストを実行するようになんとかしていたので、私は取得します Tests run: 184, ..., 、 どちらが正しい。

ただし、ファイナル Coverage.xml ncoverからのファイル出力はほとんど空で、次のように見えます。

<?xml version="1.0" encoding="utf-8"?>
<!-- saved from NCover 3.0 Export url='http://www.ncover.com/' -->
<coverage profilerVersion="3.3.2.6211" driverVersion="3.3.2" exportversion="3" viewdisplayname="" startTime="2010-04-22T08:55:33.7471316Z" measureTime="2010-04-22T08:55:35.3462915Z" projectName="" buildid="27c78ffa-c636-4002-a901-3211a0850b99" coveragenodeid="0" failed="false" satisfactorybranchthreshold="95" satisfactorycoveragethreshold="95" satisfactorycyclomaticcomplexitythreshold="20" satisfactoryfunctionthreshold="80" satisfactoryunvisitedsequencepoints="10" uiviewtype="TreeView" viewguid="C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml" viewfilterstyle="None" viewreportstyle="SequencePointCoveragePercentage" viewsortstyle="Name">
  <rebasedpaths />
  <filters />
  <documents>
    <doc id="0" excluded="false" url="None" cs="" csa="00000000-0000-0000-0000-000000000000" om="0" nid="0" />
  </documents>
</coverage>

FBログの出力は次のとおりです。

...
***************** End Program Output *****************

Execution Time: 1,5992 s

Coverage Xml: C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml
NCover Success

ncoverのFBステップの私の構成:

  • ncover何?: :ヌニットテストカバレッジ
  • 指示: C:\Program Files (x86)\NUnit 2.5.4\bin\net-2.0\nunit-console.exe
  • コマンド引数: LVK.IoC.Tests.dll /noshadow /framework:4.0.30319 /process=single /nothread
    • 注:私はそれの有無にかかわらずに試しました /process/nothread オプション
  • 作業ディレクトリ: %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug
  • プロファイルへのアセンブリのリスト: %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug\LVK.IoC.dll
    • 注:拡張機能の有無にかかわらず、アセンブリの名前をリストするだけです。

FBステップのドキュメントは、各プロパティのマイナーな文のみをリストし、例やトラブルシューティングのヒントを提供していないため、役に立ちません。

カバレッジの結果をndependに引き込み、ビルドタイム分析を実行したいので、そのファイルに必要な情報を含めることを望みます。

私も使用しています テストドライブ, 、そして、ソリューションファイルを右クリックして「ncoverでテスト」を選択すると、ncover-explorerがカバレッジデータで開き、カバレッジファイルのあるフォルダーを表示するように依頼すると、.xmlファイルがあります。上記の構造と同じ構造、そこにあるはずのすべてのデータだけで、私が持っているツールは確かにそれを生成することができます。

ここで何が間違っているのかについてのアイデアはありますか?


解決した: :次の構成が最終的に私のために機能しました。ビルドの開始結果ページにコードカバレッジの基本統計を作成し、すべてを含む詳細なレポートへのリンクを使用します。

ユニットテストプロジェクトは、テストするプロジェクトと同じように名前を付けているため、テストの接尾辞のみを使用して、コードカバレッジから除外しました。また、独自のアセンブリのみを具体的に含める必要がありました(すべてLVKで始まります。)そうしないと、TeamCityランナーによっていくつかのアセンブリがロードされ、カバレッジ統計にわずかに影響を与えました。

最初に、最新のツールをインストールしました(この編集の時点):

  • ncover 3.4.8
  • TeamCity 5.1.2
  • ヌニット2.5.5

TeamCityのビルドスクリーンの構成は次のとおりです。

  • ターゲット:再構築
  • 構成:デバッグ
  • プラットフォーム:任意のCPU
  • .NETカバレッジツール:ncover(3.x)
  • .NETランタイム:.NETフレームワーク4.0、バージョン:ネイティブ
  • ncover 3へのパス:%System.ncover.v3.x64.path%(これはWindows 2008サーバーR2 64ビットです)
  • 追加のncover引数:

    //ias LVK.*
    //eas .*Tests
    //eas LVK\.CodeQuality
    //ea LVK\.CodeQuality\.IgnoreCodeCoverageAttribute
    
  • 追加のncoverレポートの引数:

    //or FullCoverageReport:Html:{teamcity.report.path}
    
  • ヌニットランナー:ヌニット2.5.5

  • .NETランタイムプラットフォーム:Auto(MSIL)、バージョン:4.0
  • テストを実行する:** bin debug*tests.dll
役に立ちましたか?

解決

私の知る限り、NCOVERは.NET 4.0のテストをカバーすることができません。彼らは.NET 4.0の新しいバージョンを発表しましたが、まだそこにはありません。

主題に関する情報を見つけます ここ. 。個人的に私はこのタスクの経験がありません...

アップデート: :彼らは.NET 4.0サポートでNCOVER 3.4をリリースしました。おそらくあなたはそれを試してみてください。

他のヒント

私はこのスレッドからあなたの答えを見つけました: NunitはVisual Studio 2010コードを実行していません

nunit-console-x86.exe.configファイルへ、 <configuration> 追加:

<startup>
  <requiredRuntime version="v4.0.30319" />
</startup>

<runtime> 追加

<loadFromRemoteSources enabled="true" />

私のためにそれを修正しました。私はfinalbuilderではなくteamcityを使用しています。

NCOVER 3.4も使用しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top