csharp-xunit

Руководство по написанию эффективных модульных тестов с XUnit, включая стандартные и data‑driven подходы.

Что это за skill и зачем он нужен

Навык предоставляет набор рекомендаций по организации тестового проекта в .NET, выбору пакетов, структуре тестов, именованию, использованию атрибутов `[Fact]` и `[Theory]`, работе с фикстурами, написанию чистых утверждений и интеграции мок‑фреймворков (Moq, NSubstitute). Описаны лучшие практики для обычных и параметризованных тестов, а также советы по организации, категоризации и диагностике тестов с помощью `ITestOutputHelper`.

Как установить

npx skills add https://github.com/github/awesome-copilot --skill csharp-xunit

Когда использовать

Подходит

  • При разработке новых .NET‑проектов, где требуется единичное тестирование с XUnit.
  • Когда нужен единый стиль именования и структуры тестов (AAA, MethodName_Scenario_ExpectedBehavior).
  • Для внедрения data‑driven тестов с `[Theory]`, `[InlineData]`, `[MemberData]` и `[ClassData]`.
  • При необходимости использовать фикстуры (`IClassFixture`, `ICollectionFixture`) для общих ресурсов.
  • Для интеграции мок‑объектов через Moq или NSubstitute в тесты XUnit.
  • Когда требуется категоризация тестов с помощью атрибута `[Trait]`.

Не подходит

  • Для интеграционных, UI‑ или нагрузочных тестов, которые требуют других фреймворков.
  • Если проект написан не на C#/.NET (например, Java, Python).
  • Когда в команде уже стандартизированы другие тестовые фреймворки (NUnit, MSTest) без планов перехода.
  • Для простых скриптов без отдельного тестового проекта, где XUnit избыточен.
  • Если требуется поддержка специфических функций, недоступных в XUnit (например, параметризация через сторонние плагины).
  • Когда необходимо тестировать код, зависящий от внешних сервисов без возможности изоляции через моки.

Похожие skills

diagnoseСистематизированный подход к отладке сложных программных ошибок.mattpocock/skills★ нет данных · 230.9K установокОткрыть →env-and-assets-bootstrapАвтоматизированная настройка окружения и подготовка ресурсов для репозиториев воспроизведения научных работ.lllllllama/ai-paper-reproduction-skill★ нет данных · 139.8K установокОткрыть →next-best-practicesНабор рекомендаций и проверок для написания и ревью кода на Next.js.vercel-labs/next-skills★ нет данных · 111.6K установокОткрыть →better-auth-best-practicesРуководство по настройке Better Auth: установка пакета, переменные окружения, конфигурация, CLI‑команды и рекомендации по использованию.better-auth/skills★ нет данных · 66.9K установокОткрыть →developing-genkit-jsПошаговое руководство по созданию, миграции и оптимизации приложений на Genkit JS с акцентом на безопасное управление учётными данными.firebase/agent-skills★ нет данных · 62.2K установокОткрыть →developing-genkit-dartAI‑SDK для Dart, предоставляющий единый интерфейс генерации кода, структурированных выводов, инструментов, потоков и агентов.firebase/agent-skills★ нет данных · 61.9K установокОткрыть →