visual-studio-2015 vsts dnx xunit.net vsts-build

visual studio 2015 - Ejecución de pruebas unitarias en TFS/VSO Compilación vNext usando el adaptador xUnit



visual-studio-2015 vsts (2)

Cree un archivo global.json y global.json lo siguiente:

{ "packages": "packages" }

Eso forzará a tu dnu restore a poner los paquetes en ./packages/ , que con suerte resolverá el problema. Simplemente especifique la ruta del adaptador de prueba como $(Build.SourcesDirectory)/packages/ - puede que tenga que especificar el nombre completo del ensamblado, no estoy seguro de la cabeza.

Actualización: tomé la aplicación de muestra "HelloMvc" y la compilé con xUnit sin global.json . Aquí está mi definición de construcción:

{ "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

Sospecho que el problema es que estás tratando de usar el adaptador de prueba de Visual Studio.

Estoy intentando ejecutar nuestras pruebas xUnit usando el adaptador de prueba xUnit en la plataforma Build vNext de Visual Studio Online.

Como se estipula en este artículo , debemos proporcionar una ruta de adaptador de prueba personalizada que apunte a xunit.runner.visualstudio.testadapter.dll .

Pero este paquete es restaurado por NuGet a una carpeta global de paquetes, concretamente C:/Users/{user}/.dnx/packages ?

¿Cómo voy a hacer referencia a esta carpeta en el paso de compilación?

Estamos usando proyectos VS 2015 y DNX.

EDITAR:

Incluso intenté señalar directamente la ruta del paquete DLL:

C:/Users/buildagent/.dnx/packages/xunit.runner.visualstudio/2.1.0-beta4-build1109/build/_common

Todavía no parecía usar el adaptador:

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.

El project.json , si es relevante:

"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": { } }


Tuve un problema similar al encontrar la ruta correcta con el adaptador de prueba NUnit, esta es la ruta que utilicé en el paso de Prueba que terminó trabajando para mí, también puede funcionar para usted:

"$ (Build.SourcesDirectory) [su ruta a la carpeta de paquetes] / packages / NUnit3TestAdapter.3.8.0 / build / netcoreapp1.0"

El adaptador de prueba dll se encuentra en la carpeta netcoreapp1.0. Además, MANTENGA las comillas alrededor de la ruta.