1

何らかの理由でコード カバレッジが Sonar に表示されないという問題があります。単体テストの結果は正しく実行され、表示されますが、コード カバレッジの結果は表示されません。プロジェクトはジェンキンスによって構築されています。一部のスレッドで提案されているように opencover.profiler.dll ファイルを登録しましたが、それでも結果が得られません。ビルドの実行時に Jenkins でエラー メッセージが表示されることもありません。

何をすべきかについてのヒントをいただければ幸いです。

よろしくダン

4

3 に答える 3

2

これは、Jenkinsサービスが「ローカルシステムアカウント」として実行されているために発生すると思いますが、Sonarは内部で-register:userスイッチを使用してOpenCoverを実行しています。Jenkinsサービスを通常のユーザーアカウントとして実行するか、Sonar-runnerにパッチを適用して-register:userスイッチを省略することで、これを回避できるはずです。

于 2012-10-31T18:38:53.233 に答える
0

OpenCover と Gallio プラグイン間のバージョンの競合を確認します。

OPenCover の新しいバージョン (バージョン 4.0.1229 以降) では、coverage-report.xml ファイルに新しいタグが挿入されていることがわかりましたが、Gallio プラグインはこれを理解できませんでした。OpenCover の古いバージョン (4.0.804) にロールバックすると、カバレッジが再び機能しました。詳細については、http://sonar.15.n6.nabble.com/coverage-report-xml-is-generated-but-sonar-says-coverage-is-0-td5008850.htmlを参照してください。

Gallio プラグインが更新されたようですが、まだ追跡していません (これが問題の原因であることを最初に確認したかったのです)。

于 2013-03-25T23:09:30.257 に答える
0

しかし、PDB ファイルが問題の原因であることが判明しました。それらはリポジトリに含まれていましたが、何らかの理由で Jenkins のビルドによって再作成されませんでした。そのための PDB ファイルには、実際のコード ファイルへの間違ったパスが含まれていました。

助けてくれてありがとう!

于 2012-11-01T15:49:57.913 に答える