Visual StudioOnlineのBuildvNextプラットフォームでxUnitテストアダプターを使用してxUnitテストを実行しようとしています。
この記事 で規定されているように、xunit.runner.visualstudio.testadapter.dll
を指すカスタムテストアダプタパスを提供する必要があります。
ただし、このパッケージはNuGetによってグローバルパッケージフォルダー、つまりC:\Users\{user}\.dnx\packages
に復元されますか?
ビルドステップでこのフォルダーを参照するにはどうすればよいですか?
VS2015およびDNXプロジェクトを使用しています。
編集:
パッケージパスDLLを直接ポイントしてみました:
C:\Users\buildagent\.dnx\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109\build\_common
それでもアダプタを使用していないようです。
Executing C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe "C:\a\8ac4a4f6\Root\artifacts\bin\MyProject.UnitTest\release\dnx451\TransitApi.UnitTest.dll" /TestAdapterPath:C:\Users\buildguest\.dnx\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109\build\_common /UseVsixExtensions:true /logger:trx
Microsoft (R) Test Execution Command Line Tool Version 14.0.23107.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Warning: No test is available in C:\a\8ac4a4f6\Root\artifacts\bin\MyProject.UnitTest\release\dnx451\TransitApi.UnitTest.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
No results found to publish.
project.json
、該当する場合:
"dependencies": {
"xunit": "2.1.0-beta4-build3109",
"xunit.runner.dnx": "2.1.0-beta4-build134",
"xunit.runner.visualstudio": "2.1.0-beta4-build1109"
},
"commands": {
"test": "xunit.runner.dnx"
},
"frameworks": {
"dnx451": { }
}
_global.json
_ファイルを作成し、そのファイルに次のものを入れます。
_{
"packages": "packages"
}
_
これにより、_dnu restore
_はパッケージを_.\packages\
_に強制的に配置し、問題が解決することを願っています。テストアダプタのパスを$(Build.SourcesDirectory)\packages\
として指定するだけです。完全なアセンブリ名を指定する必要がある場合があります。頭のてっぺんからはわかりません。
更新:サンプルの「HelloMvc」アプリケーションを取得し、_global.json
_なしでxUnitテストを使用してビルドしました。これが私のビルド定義です:
_{
"build": [
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Restore packages",
"task": {
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
"versionSpec": "*"
},
"inputs": {
"filename": "$(DNXPath)\\dnu.cmd",
"arguments": "restore",
"workingFolder": "",
"failOnStandardError": "false"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Run tests",
"task": {
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
"versionSpec": "*"
},
"inputs": {
"filename": "$(DNXPath)\\dnx.exe",
"arguments": "test",
"workingFolder": "",
"failOnStandardError": "false"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Build NuGet package",
"task": {
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
"versionSpec": "*"
},
"inputs": {
"filename": "$(DNXPath)\\dnu.cmd",
"arguments": "publish",
"workingFolder": "",
"failOnStandardError": "false"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Publish Artifact: drop",
"task": {
"id": "1d341bb0-2106-458c-8422-d00bcea6512a",
"versionSpec": "*"
},
"inputs": {
"CopyRoot": "",
"Contents": "**\\output\\*",
"ArtifactName": "drop",
"ArtifactType": "FilePath",
"TargetPath": "\\\\ic-tfs-fs-01\\TFSBuilds\\$(Build.DefinitionName)\\$(Build.BuildNumber)"
}
}
],
"options": [
{
"enabled": false,
"definition": {
"id": "7c555368-ca64-4199-add6-9ebaf0b0137d"
},
"inputs": {
"multipliers": "[]",
"parallel": "false",
"continueOnError": "true"
}
}
],
"variables": {
"BuildConfiguration": {
"value": "debug",
"allowOverride": true
},
"BuildPlatform": {
"value": "any cpu",
"allowOverride": true
},
"DNXPath": {
"value": "C:\\Users\\tfs-build\\.dnx\\runtimes\\dnx-clr-win-x86.1.0.0-beta7-12335\\bin\\"
}
},
"retentionRules": [
{
"branches": [
"+refs/heads/*"
],
"daysToKeep": 10,
"deleteBuildRecord": true
}
],
"_links": {
"self": {
"href": "http://ic-tfs-at-01:8080/tfs/InCycleEventsCollection/b3284707-3d86-4bc7-b321-b22aee80daca/_apis/build/Definitions/22"
},
"web": {
"href": "http://ic-tfs-at-01:8080/tfs/_permalink/_build/index?collectionId=0ea6f8c1-f923-47f0-b59a-af6d452d8f7f&projectId=b3284707-3d86-4bc7-b321-b22aee80daca&definitionId=22"
}
},
"buildNumberFormat": "$(date:yyyyMMdd)$(rev:.r)",
"createdDate": "2015-08-12T15:34:17.887Z",
"jobAuthorizationScope": 1,
"jobTimeoutInMinutes": 60,
"repository": {
"id": "ee7584f9-ba25-4535-9b5e-5038ec6a39c7",
"type": "TfsGit",
"name": "AspNet5",
"url": "http://ic-tfs-at-01:8080/tfs/InCycleEventsCollection/BTE2015/_git/AspNet5",
"defaultBranch": "refs/heads/master",
"clean": "false",
"checkoutSubmodules": true
},
"quality": 1,
"authoredBy": {
"id": "7f2b1ec7-224f-41de-b679-17e6ef28ce35",
"displayName": "ICTFS-Admin",
"uniqueName": "Azure\\ICTFS-Admin",
"url": "http://ic-tfs-at-01:8080/tfs/InCycleEventsCollection/_apis/Identities/7f2b1ec7-224f-41de-b679-17e6ef28ce35",
"imageUrl": "http://ic-tfs-at-01:8080/tfs/InCycleEventsCollection/_api/_common/identityImage?id=7f2b1ec7-224f-41de-b679-17e6ef28ce35"
},
"queue": {
"pool": null,
"id": 1,
"name": "default"
},
"uri": "vstfs:///Build/Definition/22",
"type": 2,
"revision": 6,
"id": 22,
"name": "ASP .NET 5 app",
"url": "http://ic-tfs-at-01:8080/tfs/InCycleEventsCollection/b3284707-3d86-4bc7-b321-b22aee80daca/_apis/build/Definitions/22",
"project": {
"id": "b3284707-3d86-4bc7-b321-b22aee80daca",
"name": "BTE2015",
"url": "http://ic-tfs-at-01:8080/tfs/InCycleEventsCollection/_apis/projects/b3284707-3d86-4bc7-b321-b22aee80daca",
"state": "wellFormed",
"revision": 383343
_
問題は、VisualStudioテストアダプターを使用しようとしていることだと思います。
NUnitテストアダプターで正しいパスを見つけるのと同様の問題がありました。これは、テストステップで使用したパスで、最終的には機能するようになりました。
"$(Build.SourcesDirectory)[パッケージフォルダーへのパス]\packages\NUnit3TestAdapter.3.8.0\build\netcoreapp1.0"
テストアダプタdllはnetcoreapp1.0フォルダにあります。また、パスを引用符で囲みます。