Start Debugging

Тег: testing

21 статей · Страница2из3

2026-08-07 dotnettestingci-cd
Microsoft.Testing.Platform 2.3: --report-gh выводит падения тестов прямо в diff пул-реквеста
Статья в блоге .NET от 2026-08-06 про отчёты MTP показывает набор расширений, ставших стабильными в Microsoft.Testing.Platform 2.3.0: аннотации GitHub Actions, устойчивая к падениям запись TRX и история нестабильности в Azure DevOps.
WebApplicationFactory против Testcontainers для интеграционных тестов в ASP.NET Core
Это не альтернативы. WebApplicationFactory поднимает ваше приложение, Testcontainers поднимает его зависимости. Измерено на .NET SDK 10.0.201: фикстура с контейнером стоит 1.7 с на класс против 10 мс у SQLite, а нарушение HasMaxLength(16), которое Postgres отклоняет с кодом 22001, SQLite молча принимает.
xUnit v3 vs NUnit vs MSTest в 2026 году: что выбрать?
Выбирайте xUnit v3 для новых проектов на .NET, NUnit 4.6, если вы живёте в его модели ограничений, и MSTest 4, если он у вас уже в проде. Измеренное сравнение на .NET SDK 10.0.201: значения параллелизма по умолчанию, жизненный цикл тестового класса, вывод при провале утверждений и конфликт версий Microsoft.Testing.Platform, ломающий runner NUnit.
Лучшая идея нового агента модульных тестов для .NET не в написании тестов
2026-07-31 Microsoft выпустила полиглотного агента модульных тестов в dotnet/skills. Самое интересное в нём: обязательная проверка, которая применяет псевдомутацию к вашим утверждениям, прежде чем агент имеет право сказать, что работа закончена.
Как тестировать зависящий от времени код с TimeProvider и FakeTimeProvider в .NET 11
Замените DateTime.UtcNow, Stopwatch и Task.Delay на System.TimeProvider, чтобы тесты управляли часами: регистрация во внедрении зависимостей, FakeTimeProvider.Advance и SetUtcNow, тестирование таймаутов и BackgroundService на PeriodicTimer, а также подводные камни с продолжениями после Advance и с xUnit v2.
Как писать интеграционные тесты с WebApplicationFactory<T> в ASP.NET Core 11
Полное руководство по WebApplicationFactory<TEntryPoint> в ASP.NET Core 11: как сделать точку входа Program доступной, ConfigureTestServices против ConfigureWebHost, замена регистрации EF Core через IDbContextOptionsConfiguration, новый хук ConfigureHostApplicationBuilder в .NET 11 preview 6, подделка аутентификации, WebApplicationFactoryClientOptions и UseKestrel, когда нужен настоящий порт.
Как писать интеграционные тесты против настоящего SQL Server с помощью Testcontainers
Полное руководство по запуску интеграционных тестов ASP.NET Core против настоящего SQL Server 2022 с использованием Testcontainers 4.11 и EF Core 11: настройка WebApplicationFactory, IAsyncLifetime, подмена регистрации DbContext, применение миграций, параллелизм, очистка через Ryuk и подводные камни CI.
VSTest отказывается от Newtonsoft.Json в .NET 11 Preview 4 и что сломается, если вы полагались на него транзитивно
.NET 11 Preview 4 и Visual Studio 18.8 поставляют VSTest, который больше не протаскивает Newtonsoft.Json в ваши тестовые проекты. Сборки, тихо использовавшие транзитивную копию, сломаются, и чинятся одной строкой PackageReference.
Как мокать DbContext, не ломая отслеживание изменений
Прямое мокание DbContext незаметно ломает ChangeTracker, поэтому Microsoft не рекомендует так делать. Это руководство показывает два паттерна, которые действительно работают в EF Core 11: SQLite в памяти с удерживаемым открытым соединением, чтобы запускался настоящий ChangeTracker, и паттерн репозитория, полностью убирающий EF Core из теста.
Назад Вперёд