我运行时遇到问题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.3382932Z 版本: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.8520939Z 执行 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 中没有可用的测试。确保已安装的测试发现器和执行器、平台和框架版本设置合适,然后重试。
The 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
VS测试版本:Latest
自定义适配器的路径为空,但工具提示指出Nuget restored adapters are automatically searched for.
报告选项
平台:$(BuildPlatform)
配置:$(BuildConfiguration)
所以(对我来说)它似乎可以找到正确的文件(MyClassLibrary.Tests.dll),但没有选择测试方法(标记为[Fact]
or [Theory
]).
有人知道我做错了什么吗?
update
解决方案中的所有项目都是.NET 4.5
只是对此的更新,因为我最近也遇到了这个问题,并且无法让 VsTest 运行程序发现我的 .net Core 2.0 xunit 测试。
注意:VsTest 运行程序在我的计算机上本地运行良好,但在 VSTS 中运行不佳 - 即使 xunit 测试适配器在那里。
任何状况之下,使用 .NET Core 构建任务代替- 它非常容易使用。基本上:
- 添加.Net Core构建任务(预览atm)
- 选择所需的.NET Core版本
- 更改命令进行测试
- 添加一个或多个测试项目的路径 - 例如**/*测试.csproj
- 任何其他参数 - 例如 --filter "Category!=Integration"
- 还有一个发布测试结果选项,可以创建 trx 输出文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)