Sze*_*eki 8 c# build-automation xunit azure-devops
我在运行xunit.net
测试时遇到问题VSTS
.运行构建计划时,该Test assemblies
步骤将生成以下日志:
2017-03-21T12:11:39.3302859Z ## [section]开始:测试装配
2017-03-21T12:11:39.3382932Z ===================== ================================================== =======
2017-03-21T12:11:39.3382932Z任务:Visual Studio测试
2017-03-21T12:11:39.3382932Z描述:使用Visual Studio测试运行器运行测试
2017-03-21T12:11:39.3382932 Z版本:1.0.84
2017-03-21T12:11:39.3382932Z作者:微软公司
2017-03-21T12:11:39.3382932Z帮助:更多信息
2017-03-21T12:11:39.3382932Z ====== ================================================== ======================
2017-03-21T12:11:39.3493151Z准备任务执行处理程序.
2017-03-21T12:11:44.9245238Z执行powershell脚本:D:\ a_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\1.0.84\VSTest.ps1
2017-03-21T12:11:46.6530959Z测试容器: 'REGISTRY :: HKEY_CLASSES_ROOT\CLSID {177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}'
2017-03-21T12:11:46.6530959Z
2017-03-21T12:11:46.6530959Z
2017-03-21T12:11:46.6810971Z不存在.
2017-03-21T12:11:46.6820975Z
2017-03-21T12:11:46.6820975Z
2017-03-21T12:11:46.8520939Z工作文件夹:D:\ a\1\s
2017-03-21T12:11:46.8520939 Z执行C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"D:\ a\1\s\Common.Tests\bin\Release\MyClassLibrary .Tests.dll"/Settings:"C:\Users\buildguest\AppData\Local\Temp\tmp89AE.tmp"/ EnableCodeCoverage/logger:trx/TestAdapterPath:"D:\ a\1\s"
2017-03-21T12 :11:47.2730887Z Microsoft(R)测试执行命令行工具版本14.0.25420.1
2017-03-21T12:11:47.2740881Z版权所有(c)Microsoft Corporation.版权所有.
2017-03-21T12:11:47.2740881Z
2017-03-21T12:11:47.7430814Z开始测试执行,请稍候......
2017-03-21T12:12:01.0768912Z警告:[xUnit.net 00:00:01.1926376 ]跳过:MyClassLibrary.Tests(找不到以下任何程序集:xunit.execution.desktop.dll)
2017-03-21T12:12:01.0768912Z
2017-03-21T12:12:01.1458970Z警告:没有可用的测试在D:\ a\1\s\Common.Tests\bin\Release\MyClassLibrary.Tests.dll.确保已安装的测试发现者和执行者,平台和框架版本设置适当,然后重试.
packages.config
这个项目的文件是这样的:
<?xml version="1.0" encoding="utf-8"?> <packages> ... <package id="xunit" version="2.2.0" targetFramework="net45" /> <package id="xunit.abstractions" version="2.0.1" targetFramework="net45" /> <package id="xunit.assert" version="2.2.0" targetFramework="net45" /> <package id="xunit.core" version="2.2.0" targetFramework="net45" /> <package id="xunit.extensibility.core" version="2.2.0" targetFramework="net45" /> <package id="xunit.extensibility.execution" version="2.2.0" targetFramework="net45" /> <package id="xunit.runner.msbuild" version="2.1.0" targetFramework="net45" /> <package id="xunit.runner.visualstudio" version="2.2.0" targetFramework="net45" developmentDependency="true" /> </packages>
Test assemblies
构建步骤中使用的值:
执行选项
测试组件:**\*Tests.dll;-:**\obj\**
启用代码覆盖:true
高级执行选项
VSTest:Version
VSTest版本:Latest
自定义适配器的路径为空,但工具提示指出 Nuget restored adapters are automatically searched for.
报告选项
平台:$(BuildPlatform)
配置:$(BuildConfiguration)
因此,(对我来说)它似乎可以找到正确的文件(MyClassLibrary.Tests.dll),但不会选择测试方法(标记为[Fact]
或[Theory
]).
有谁知道我做错了什么?
更新
解决方案中的所有项目都是 .NET 4.5
Adr*_*eer 12
只是对此的更新,因为我最近也遇到了这个问题,无法让VsTest跑步者发现我的.net Core 2.0 xunit测试.
注意:VsTest运行器在我的机器上本地工作正常,但不是来自VSTS - 即使xunit测试适配器在那里.
无论如何,请使用.NET Core构建任务 - 它非常易于使用.基本上: