5

私の.Netソリューションのテストサブプロジェクトを指して、テストスイートを正常に実行するNunitテストランナービルドステップを構成しました。ソリューション/Solution.Test/bin/debug/Solution.Test.dll。

私のソリューション構造は次のとおりです。

  • 解決
    • Solution.Lib
    • ソリューション.モデル
    • Solution.Test

lib およびモデル dll は、テスト プロジェクトで参照されます。

次に、アセンブリ フィルターを使用せずに dotCover をオンにすると、上記のテスト dll でコード カバレッジ分析が正しく実行されました。

次に、フィルタ -:Solution.Test を追加し、アセンブリ フィルタに +:Solution.Lib と +:Solution.Model を追加してビルド構成を実行すると、build.log に次のように報告されました。

Generate dotCover HTML report
[17:15:41][Generate dotCover HTML report] No source files were found under the build checkout directory W:\TeamCity\Install\buildAgent\work\7136872008cbf3bf. No source files will be included in dotCover report as source code of classes.

No executable code was detected. 
The issue could be caused by one of the following:
- Include / exclude patterns are incorrect
- Assemblies are compiled without debugging information
- .pdb files are not available
- Visual Studio code coverage is enabled for MSTest
- .testrunconfig is used for MSTest and Visual Studio code coverage is not disabled (CodeCoverage section with enable="true" is present)

パスが正しい場合、上記の構成で何が間違っているのでしょうか?

4

1 に答える 1

5

だから、私はこれを自分で体験しました。これはあなたの問題ではないかもしれませんが、セットアップにバグがあり、理解するのに時間がかかりすぎました。

私のアプリケーションの名前空間 (およびプロジェクト ファイル名) はOrganization.Productであるため、テスト フィルターでそれを使用しました。ただし、これはフィルター処理しているアセンブリの名前です。

そして、私のアセンブリの出力名はProduct name with spaces. うわぁ。

とにかく、より単純なフィルターで動作させることができました:

-:*Test*

フィルターは次のようになります。

-:*.Test

また、包含と除外の両方を行う必要はないと言います。除外すると、他のすべてが含まれます。含めると、他のすべてが除外されます。

于 2014-04-25T18:53:53.373 に答える