AIKraft/Skills/Фреймворки тестирования .NET

Фреймворки тестирования .NET

Reference data for .NET test framework detection patterns, assertion APIs, skip annotations, setup/teardown methods, and common test smell indicators across MSTest, xUnit, NUnit, and TUnit. Loaded by test analysis skills (test-anti-patterns) as framework-specific lookup tables.

dotnet official Данные

Что делает навык

Навык предоставляет справочные данные по паттернам обнаружения тестовых фреймворков .NET (MSTest, xUnit, NUnit, TUnit), включая маркеры классов и методов, API утверждений, аннотации пропуска и методы setup/teardown. Он помогает идентифицировать фреймворк, анализировать утверждения и выявлять антипаттерны, такие как использование sleep или ручная обработка исключений.

Когда применять

  • Идентификация используемого тестового фреймворка по маркерам классов и методов в коде.
  • Поиск и замена антипаттернов, например, преобразование try/catch для проверки исключений в нативные методы фреймворка.
  • Обнаружение интеграционных тестов по именам классов, проектам или специфичным аннотациям.
  • Анализ корректности использования утверждений (assertions), особенно асинхронных в TUnit.
  • Выявление зависимостей от внешних ресурсов (файловая система, база данных, сеть) в тестах.

Как работает

  1. Определить тестовый фреймворк по наличию специфичных маркеров классов (например, [TestClass]) и методов (например, [Fact], [Test]).
  2. Проверить синтаксис утверждений (assertions) на соответствие API выбранного фреймворка, обращая внимание на необходимость await в TUnit.
  3. Искать антипаттерны: использование Thread.Sleep, Task.Delay, SpinWait или ручную обработку исключений через try/catch.
  4. Обнаруживать интеграционные тесты по именам (Integration, E2E) или аннотациям (TestCategory, Trait, Category).
  5. Анализировать методы setup/teardown на соответствие паттернам фреймворка (конструкторы, атрибуты, интерфейсы IDisposable).
  6. Предлагать исправления, заменяя антипаттерны на нативные альтернативы фреймворка (например, Assert.Throws вместо try/catch).

Примеры запросов агенту

Найди в этом коде антипаттерны с использованием try/catch для проверки исключений и предложи исправление для xUnit.
Определи тестовый фреймворк по этим маркерам и проверь, правильно ли используются утверждения (особенно асинхронные).
Выдели интеграционные тесты в этом проекте по именам классов и аннотациям.

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «dotnet-test-frameworks» из репозитория: # https://github.com/dotnet/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r dotnet-test-frameworks/ ~/.claude/skills/dotnet-test-frameworks/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.