WireMock позволяет эмулировать HTTP-запросы и ответы, создавая локальные mock-сервисы вместо реальных API.
Возможности WireMock.Net:
• Mock API-запросов и ответов – можно заранее определить, как сервер должен реагировать.
• Гибкие настройки – поддержка кастомных заголовков, тел запросов, условий обработки.
• Интеграция с .NET-тестами – можно легко использовать в xUnit, NUnit или MSTest.
• Запись и воспроизведение запросов – полезно при тестировании реальных API-ответов.
Пример мокирования API
var server = WireMockServer.Start();
// Определяем мок-ответ для запроса
server.Given(
Request.Create().WithPath("/test").UsingGet()
)
.WillRespondWith(
Response.Create()
.WithStatusCode(200)
.WithBody("{\"message\": \"Hello, WireMock!\"}")
);
// Используем API в тестах
var client = new HttpClient { BaseAddress = new Uri(server.Url) };
var response = await client.GetStringAsync("/test");
Console.WriteLine(response); // {"message": "Hello, WireMock!"}
server.Stop();
➡️ Подробнеe про мокирование API
🐸Библиотека шарписта
