gpt4 book ai didi

c# - 在 VSTS 中运行 xunit.net 测试

转载 作者:太空狗 更新时间:2023-10-29 18:09:06 25 4
gpt4 key购买 nike

我在 VSTS 中运行 xunit.net 测试时遇到问题。运行构建计划时,测试程序集 步骤会生成以下日志:

2017-03-21T12:11:39.3302859Z ##[section]Starting: Test Assemblies
2017-03-21T12:11:39.3382932Z ==============================================================================
2017-03-21T12:11:39.3382932Z Task : Visual Studio Test
2017-03-21T12:11:39.3382932Z Description : Run tests with Visual Studio test runner
2017-03-21T12:11:39.3382932Z Version : 1.0.84
2017-03-21T12:11:39.3382932Z Author : Microsoft Corporation
2017-03-21T12:11:39.3382932Z Help : More Information
2017-03-21T12:11:39.3382932Z ==============================================================================
2017-03-21T12:11:39.3493151Z Preparing task execution handler.
2017-03-21T12:11:44.9245238Z Executing the powershell script: D:\a_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\1.0.84\VSTest.ps1
2017-03-21T12:11:46.6530959Z Testing container: '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 Does not exist.
2017-03-21T12:11:46.6820975Z
2017-03-21T12:11:46.6820975Z
2017-03-21T12:11:46.8520939Z Working folder: D:\a\1\s
2017-03-21T12:11:46.8520939Z Executing 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) Test Execution Command Line Tool Version 14.0.25420.1
2017-03-21T12:11:47.2740881Z Copyright (c) Microsoft Corporation. All rights reserved.
2017-03-21T12:11:47.2740881Z
2017-03-21T12:11:47.7430814Z Starting test execution, please wait...
2017-03-21T12:12:01.0768912Z Warning: [xUnit.net 00:00:01.1926376] Skipping: MyClassLibrary.Tests (Could not find any of the following assemblies: xunit.execution.desktop.dll)
2017-03-21T12:12:01.0768912Z
2017-03-21T12:12:01.1458970Z Warning: No test is available in D:\a\1\s\Common.Tests\bin\Release\MyClassLibrary.Tests.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.

这个项目的 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>

测试程序集构建步骤中使用的值:

执行选项

测试程序集:**\*Tests.dll;-:**\obj\**
启用代码覆盖率:true

高级执行选项

VSTest:版本
VSTest 版本:最新

自定义适配器的路径为空,但工具提示指出 自动搜索 Nuget 恢复的适配器。

报告选项

平台:$(BuildPlatform)
配置:$(BuildConfiguration)

所以(对我而言)它似乎可以找到正确的文件 (MyClassLibrary.Tests.dll),但没有选择测试方法(标记为 [Fact][理论]).

有人知道我做错了什么吗?

更新

解决方案中的所有项目都是.NET 4.5

最佳答案

这只是一个更新,因为我最近也遇到了这个问题,无法让 VsTest 运行器发现我的 .net Core 2.0 xunit 测试。

注意:VsTest runner 在我的机器上在本地运行良好,但在 VSTS 中却不行——即使那里有 xunit 测试适配器。

无论如何,改用 .NET Core 构建任务 - 它非常易于使用。基本上:

  1. 添加 .Net Core 构建任务(预览 atm)
  2. 选择所需的 .NET Core 版本
  3. 更改命令以进行测试
  4. 为您的测试项目添加一个或多个路径 - 例如**/*测试.csproj
  5. 任何其他参数 - 例如 --filter "Category!=Integration"
  6. 还有一个发布测试结果选项,可以创建 trx 输出文件

关于c# - 在 VSTS 中运行 xunit.net 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42927263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com