在Linux上进行点网测试时忽略过滤器

时间:2019-05-23 07:53:05

标签: c# .net-core xunit circleci dotnet-test

我正在使用xunit,在某些测试中设置了特征属性。在运行dotnet测试时,我试图按这些特征进行过滤。我可以在Windows计算机上本地正常工作,但是当我在CI容器上运行相同的命令时,它不会筛选我的测试。

命令是:

dotnet test --filter Category=Integration

我正在使用CircleCI和容器mcr.microsoft.com/dotnet/core/sdk:2.2

当我通过SSH切换到该框并尝试运行该命令时,它只会运行所有测试。

dotnet --info来自容器:

.NET Core SDK (reflecting any global.json):
 Version:   2.1.700
 Commit:    c2ef055a0f

Runtime Environment:
 OS Name:     debian
 OS Version:  9
 OS Platform: Linux
 RID:         debian.9-x64
 Base Path:   /usr/share/dotnet/sdk/2.1.700/

Host (useful for support):
  Version: 2.1.11
  Commit:  d6a5616240

.NET Core SDKs installed:
  2.1.700 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.11 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

1 个答案:

答案 0 :(得分:1)

我已经设法解决了我的问题。 16.1.0 SDK版本(决定了vstest的版本)似乎是一个错误。由于问题对我来说只是关于CI的问题,所以我将我用来固定的容器固定在

mcr.microsoft.com/dotnet/core/sdk@sha256:d0a71e1312be2618f320a7b7cc6d7423af3810542b3ffd35438108800ecfb958

其中包含16.0.1 SDK。这不是完美的解决方案,但可以解决我的直接问题。