dotnet-xunit — скилл для Claude Code: тесты xUnit v3
Скилл для написания тестов на xUnit v3 в .NET: атрибуты, фикстуры, параллельный запуск, IAsyncLifetime.
npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a claude-codeЧто делает dotnet-xunit
Скилл описывает, как писать тесты на xUnit v3: атрибуты [Fact] и [Theory], фикстуры IClassFixture и ICollectionFixture, настройку параллельного выполнения, IAsyncLifetime для асинхронной подготовки и очистки, кастомные проверки и анализаторы xUnit. Отдельная таблица показывает, чем v3 отличается от v2: пакет xunit.v3 вместо xunit, IAsyncLifetime теперь возвращает ValueTask, [ClassData] принимает типизированные строки TheoryDataRow<T>, а строковый параметр сообщения у методов Assert убрали.
Скилл рассчитан на .NET 8.0 и выше. Тестовый проект должен быть уже создан, а пакеты xUnit подключены — сам скилл их не добавляет, за это отвечает dotnet-add-testing. Если проект ещё на xUnit v2, миграция упрётся в три места: возвращаемый тип IAsyncLifetime, формат строк [ClassData] и удалённые сообщения в Assert. Это повод проверить тесты до перехода.
Скилл не покрывает стратегию тестирования и интеграционные тесты с WebApplicationFactory и Testcontainers — для них есть отдельные скиллы.
Какие задачи решает
- написать параметризованный тест через
[Theory]и[InlineData] - вынести общую настройку базы в
IClassFixture - перевести
IAsyncLifetimeсTaskнаValueTaskпри миграции на v3 - настроить параллельный запуск тестов по коллекциям
- заменить строку сообщения в Assert на кастомную проверку
Примеры запросов агенту
- Помоги написать тесты на xUnit v3 для класса DiscountCalculator:
[Fact]на исключение и[Theory]с[InlineData] - Покажи, как вынести подключение к базе в
IClassFixtureсIAsyncLifetime - Что изменится в моих тестах при переходе с xUnit v2 на
xunit.v3?
Как установить dotnet-xunit
1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a claude-code2Вручную: положить файлы
~/.claude/skills/dotnet-xunit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/dotnet-xunit/
1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a codex2Вручную: положить файлы
.agents/skills/dotnet-xunit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a cursor2Вручную: положить файлы
.cursor/skills/dotnet-xunit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wshaddix/dotnet-skills dotnet-xunit2Вручную: положить файлы
.github/skills/dotnet-xunit/SKILL.md1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a gemini-cli2Командой платформы
gemini skills install https://github.com/wshaddix/dotnet-skills --path skills/dotnet-xunitВручную: положить файлы
.devin/skills/dotnet-xunit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о dotnet-xunit
Как установить dotnet-xunit в Claude?
Выполните npx skills add wshaddix/dotnet-skills --skill dotnet-xunit -a claude-code. Скилл появится в ~/.claude/skills/dotnet-xunit/SKILL.md.
Что делает dotnet-xunit?
Помогает писать тесты на xUnit v3: атрибуты [Fact] и [Theory], фикстуры, параллельный запуск, IAsyncLifetime, кастомные проверки. Отдельно разбирает отличия от v2.
Что нужно, чтобы скилл заработал?
Тестовый проект с подключёнными пакетами xUnit и базовая версия .NET 8.0. Создание проекта и ссылки на пакеты скилл не делает.