Электрон: макетирование сетевых запросов на тесты
Я хотел бы написать модульные тесты для некоторой моей сетевой логики в приложении Electron, и мне нужно смоделировать конечные точки сети.
В прошлом я использовал nock
для макетирования HTTP-запросов в Node. Тем не менее, мой код Electron использует electron.net
модуль для запросов (вместо Node's http
модуль), и Nock не перехватывает эти запросы.
Как лучше всего высмеивать запросы сети Electron?
2 ответа
Вы можете легко смоделировать свой API с помощью Postman:https://learning.postman.com/docs/postman/mock-servers/setting-up-mock/
Я настоятельно рекомендую этот простой, платформенно-независимый инструмент с открытым исходным кодом для локального тестирования:
https://www.electronjs.org/apps/local-mock-server
Это намного проще, чем платные варианты, такие как почтальон, но я предполагаю, что автор будет очень склонен к улучшениям, если вы предложите здесь PR:
https://github.com/jayakumarreddy/Local-Mock-Server/
Конфигурация просто находится в вашем домашнем каталоге (
~/.config/local-mock-server/mocks_folder/
в Linux), поэтому я просто проверяю эти макеты в моем репозитории git и создаю символьные ссылки на них, таким образом, все, что я делаю, можно повторить для кого-то другого. Просто дважды щелкните AppImage (в Linux), чтобы включить макет, и оставьте его свернутым на столько времени, сколько необходимо. Готово.