Unit testing 在Azure Dev Ops中对.net核心应用程序进行单元测试时出现的问题

Unit testing 在Azure Dev Ops中对.net核心应用程序进行单元测试时出现的问题,unit-testing,azure-devops,asp.net-core-2.2,vs-unit-testing-framework,Unit Testing,Azure Devops,Asp.net Core 2.2,Vs Unit Testing Framework,我有一个.NETCore2.2项目,其中包含一些使用VisualStudioTesting测试类库项目的单元测试 Visual Studio测试-YAML steps: - task: VSTest@2 displayName: 'VsTest - testAssemblies' inputs: testAssemblyVer2: | **\*test*.dll !**\*TestAdapter.dll !**\obj\** **\$

我有一个.NETCore2.2项目,其中包含一些使用VisualStudioTesting测试类库项目的单元测试

Visual Studio测试-YAML

steps:
  - task: VSTest@2
  displayName: 'VsTest - testAssemblies'
  inputs:
    testAssemblyVer2: |
      **\*test*.dll
     !**\*TestAdapter.dll
     !**\obj\**
     **\$(BuildConfiguration)\*\*unittests.dll
     **\$(BuildConfiguration)\*\*test*.dll
     !**\*Microsoft.VisualStudio.TestPlatform*
  vstestLocationMethod: location
  vstestLocation: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\'
  codeCoverageEnabled: true
  otherConsoleOptions: '/Framework:.NETCoreApp,Version=v2.2 /logger:console;verbosity="normal"'
  platform: '$(buildPlatform)'
  configuration: '$(buildConfiguration)'
  timeoutInMinutes: 1
以及错误消息

[警告]未找到与模式匹配的测试程序集: *测试*.dll*TestAdapter.dll\obj**,\Release**unittests.dll,\Release**test*.dll*Microsoft.VisualStudio.TestPlatform*

谁能确定需要做些什么才能使它发挥作用


我已经为上述项目尝试了各种不同的选择

我相信您需要指向项目本身;不是输出DLL的

因此,您的模式需要看起来更像这样:
***[Tt]ests/*.csproj

这将导致开发人员操作加载在其项目名称中包含
测试的所有项目


Ok i now get:找不到d:\a\1\s\Wintegrate.MSTest\Wintegrate.MSTest.deps.json。确保测试项目具有包“Microsoft.NET.test.Sdk”的nuget引用。是的,这个项目是被引用的啊,好的,你的队列中缺少任务了吗?要恢复软件包、构建并测试构建,您需要做一些特定的事情。它们需要按照一定的顺序进行,才能起作用。我知道这很微妙。。我已经用我工作的任务顺序的一个例子更新了答案。我在测试之前有签出、恢复和构建任务,但仍然得到相同的错误。好的,我现在根据您的屏幕截图将我的任务从VsTest切换到.net core。它现在找到测试并在测试失败的情况下运行它们(在本地运行时测试通过)。失败的Wintegrate.Tests.HelperTests.ToLocalTime错误消息:Assert.Equal()失败↓ (位置0)预计时间:2019年7月4日12:26:10实际时间:2019年4月7日上午11:26:10↑ (位置0)(还有许多其他失败,如预期的OK Actual 0 Perfect,这意味着它可以正常工作。您的单元测试现在失败了。这是您需要在开发中解决的问题,并重新提交修复。在这种情况下,服务器的时间可能与您预期的时间不同。请尽量避免使用ToLocalTime,而使用实际的“const”相反,您的测试项目名称是什么?将Wintegrate.Tests.csprojSet system.debug变量设置为true,然后排队生成并共享日志。