Dotnet тест, игнорирующий фильтр в Linux

Я использую xunit с атрибутами trait, установленными в некоторых моих тестах. При запуске дотнет-теста я пытаюсь фильтровать по этим признакам. У меня он отлично работает локально на моей машине с 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 ответ

Решение

Мне удалось решить мою проблему почти. Похоже, это ошибка с 16.1.0 Версия SDK (которая определяет версию vstest). Поскольку проблема была только для CI для меня, я прикрепил контейнер, который я использовал для

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

который содержит 16.0.1 SDK. Это не идеальное решение, но решает мою непосредственную проблему.

Другие вопросы по тегам