web-dev-qa-db-ja.com

Azure DevOpsパイプラインに単体テストを追加する方法

ビルドは正常に実行されますが、ユニットテストの結果を表示できません。従来の編集を使用したビルドパイプラインを追加した場合、またはソリューションで使用した場合。

そして、コードカバレッジも空白です。ソリューションには2つのプロジェクトとテストプロジェクトがあります。単体テストタスクは次のような結果を返します。

    A total of 14 test files matched the specified pattern.
           No test is available in d:\a\1\s\src.net... 
Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
            Results File: d:\a\_temp\TestResults\VssAdministrator_fv-az686_2019-12-26_06_10_28.trx
            Attachments:
              d:\a\_temp\TestResults\d301a26b-d99f-4b4e-bbe8-c95e588ee1c5\VssAdministrator_fv-az686 2019-12-26 06_10_20.coverage
            Vstest.console.exe exited with code 0.
            **************** Completed test execution *********************
            Test results files: d:\a\_temp\TestResults\VssAdministrator_fv-az686_2019-12-26_06_10_28.trx
            No Result Found to Publish 'd:\a\_temp\TestResults\VssAdministrator_fv-az686_2019-12-26_06_10_28.trx'.
            Created test run: 1006840
            Publishing test results: 0
            Publishing test results to test run '1006840'.
            TestResults To Publish 0, Test run id:1006840
            Published test results: 0
            Publishing Attachments: 2
            Completed TestExecution Model...

また、[テスト]ウィンドウからはもう見ることができません。

以下のようなテストYAMLスクリプト:

steps:
- task: VSTest@2
  displayName: 'Test Assemblies'
  inputs:
    testAssemblyVer2: |
     **\$(BuildConfiguration)\*test*.dll
     !**\obj\**
    codeCoverageEnabled: true
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
2
Kevin YANG

YAMLには何の問題もありません。同じ定義ですべてうまくいきます。

合計14個のテストファイルが指定されたパターンに一致しました。

D:\ a\1\s\src.netで利用可能なテストはありません...

これらのエラーメッセージに基づいて、テストファイルがフォルダーから特定されました。つまり、dllが現在存在しています。しかし、利用可能なテストがないとまだ言います。これはvstest.console.exeとの相対的なもので、テストを識別しませんでした。

、テストプロジェクトタイプがNUnitの場合、1つの拡張名NUnitテストアダプターを使用して、このテストタイプの実行をサポートできます。ビジュアルスタジオ。

ただし、プロジェクトがVSTSに公開されると、この拡張機能も公開できず、この拡張機能はVSTSホストエージェントには存在しません。この拡張機能のサポートがないと、vstest.console.exeNunit testを識別できず、No test is available in xxxxxxxのようなメッセージが表示されます。 this を参照してください。

ただし、nugetパッケージをインストールして、そのVS拡張の役割を置き換えることができます。

タイプがNunitテストの場合、NUnitファイルのパッケージcsprojおよびNUnit3TestAdapterに参照を追加する必要があります。

<PackageReference Include="NUnit">
      <Version>3.12.0</Version>
    </PackageReference>
<PackageReference Include="NUnit3TestAdapter">
      <Version>3.15.1</Version>
    </PackageReference>

同様の方法tp xUnit test

1