Это очень распространенное требование для кода модульного тестирования, который взаимодействует с внешними API REST.Имитация API-серверов на самом деле очень раздражает в настройке, обычно потому, что большинству веб-фреймворков требуется много настроек, прежде чем вы сможете начать макетировать конечные точки.Например, NancyFX и Asp.net.
В дополнение к этому может быть очень сложно утверждать данные, которые были отправлены на сервер - по сути, это означает, что вы можете только проверить, что ответ обработан правильно.
Даже выполняя интеграционное тестирование на реальной конечной точке, вы не можете проверить, что происходит, когда используемый вами API выходит из строя или выводит необычный код состояния, потому что у вас нет контроля над конечной точкой.
ПослеДолго пытаясь найти решение этой проблемы, я решил написать библиотеку для макетирования конечных точек API с использованием реального веб-сервера на основе встроенного класса HttpListener.
https://github.com/paulmorrishill/FluentSimulator
Эта библиотека поддерживает моделирование конечных точек, заголовков, ответов, медленных ответов, неудачных ответов.Каждый тип события, которое может произойти в конечной точке HTTP.
Это также позволяет утверждать, что данные, отправленные на сервер, были именно такими, как вы ожидали.