Является ли generi c тестирование правильного использования библиотеки в функции-обертке плохой практикой? - PullRequest
1 голос
/ 16 марта 2020

Надеюсь, этот вопрос достаточно конкретно указан c для SO. Я нахожусь в ситуации, когда я хотел написать оболочку, чтобы упростить запросы get, часто встречающиеся в проекте (написано в JS), и создать единую точку изменений в случае базовых технологических изменений. На данный момент эта обертка использует jQuery, которую я хочу изменить в какой-то момент.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, как правильно протестировать обертку, чтобы гарантировать ее корректность после входящих изменений. , Вещи, которые я хотел бы проверить, - это формат успешно разрешенных ответов или возможность отмены длительных запросов.

Таким образом, с концептуальной точки зрения мне кажется, что я бы (атм) захотел проверить, правильно ли я использую базовую библиотеку и правильно обрабатывать результаты, данные мне.

Является ли это концептуально приемлемым или предполагает, что дизайн сам по себе отсутствует?

(Почему у меня возникает этот вопрос:

Мой первый подход состоял в том, чтобы использовать mock-сервер во время выполнения тестов для общего перехвата запросов, поэтому для этого требуется настройка mock-сервера, который в моем конкретном случае использования c работает довольно хорошо с «nock» без слишком большого количества настроек) , После этого я подумал о том, чтобы издеваться над внутренними вызовами библиотеки оболочки, делая реальный запрос. Но, честно говоря, это кажется довольно неудовлетворительным, поскольку это довольно тесно связало бы тестовую реализацию с реальной реализацией, поскольку мне, вероятно, пришлось бы переписывать макеты при переключении на другую библиотеку (также один из заключительных моментов, сделанных в стоящей статье). https://martinfowler.com/articles/mocksArentStubs.html). В результате я спрашиваю себя, является ли мой подход концептуально нарушенным? )

Надеюсь, это было понятно и достаточно точно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...