2

我正在使用 xunit,在我的一些测试中设置了 trait 属性。运行 dotnet test 时,我试图按这些特征进行过滤。我让它在我的 Windows 机器上本地运行良好,但是当我在我的 CI 容器上运行相同的命令时,它不会过滤我的测试。

命令是:

dotnet test --filter Category=Integration

我在容器中使用 CircleCImcr.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
4

1 回答 1

1

我已经设法解决了我的问题。看来这是16.1.0SDK 版本的错误(它决定了 vstest 的版本)。由于对我来说问题只是在 CI 上,因此我将正在使用的容器固定在

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

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

于 2019-05-23T20:31:40.073 回答