Проблема, которую я пытаюсь решить:
Как протестировать клиентский код, который вызывает REST, вместе с реальным кодом сервера REST (эффективным способом)?
Цели:
Это был бы своего рода интеграционный тест, но быстрый и простой
Это позволит обнаружить e. грамм. ошибка, из-за которой клиент вызывает метод REST с неправильным глаголом (например, PUT, но API принимает POST)
Я считаю слишком сложным проводить интеграционные тесты с развертыванием службы REST, а затем использовать мою библиотеку API для вызова, поэтому я думаю заменить ее модульными/интеграционными тестами в памяти.
Я считаю библиотеку Flurl полезной, поэтому я хотел бы использовать ее в таком тесте.
Вдохновение: https://stackoverflow.com/a/37510032/1453525
Моя идея: я хотел бы провести тесты Flurl Api с реальным ApiController, работающим в памяти (с использованием HttpServer), а не с использованием Flurl HttpTest. Я нашел эту технику здесь: https://stackoverflow.com/a/37510032/1453525 Однако для этого требуется создать сообщение HttpRequest каждый раз и не имеет хорошего API для тестирования. Можно ли запустить код Flurl против реальных тестов ApiController в памяти?
HttpClient
, поэтому вы все равно можете настроить его на использование того, который был сгенерирован в памятиHttpServer
. - person Nkosi   schedule 17.07.2017