#node.js #testing #jestjs #automated-tests #phpunit
Вопрос:
У меня есть служба в nodejs, которая предоставляет API (rest / GraphQL). У меня есть разные виды тестов (модульные, интеграционные, функциональные = API). Я могу получить покрытие для модуля и для интеграции. НО
Я хотел бы также каким-то образом сгенерировать тестовое покрытие для функциональных тестов (API / black box), предпочтительно для node, jest test framework. Это означает, что тест генерирует фактический HTTP-запрос к запущенной службе, теперь, когда он попадает в тестируемую систему, он должен отображать строки, на которые влияют запросы, и передавать их обратно тестировщику. Не нашел таких функций в официальном документе. Может быть, какой-то плагин?
Я помню, ~ 10 лет назад это было возможно с помощью php и некоторой магии phpunit.. где он будет перехватывать http-запросы и отображать их в файловой системе. OFC когда вы запускаете тесты, вы не должны делать никаких других запросов к системе.
Я бы представил себе архитектуру, подобную:
--------------- ------------------------
| jest API test | ==> http call ==> | HTTP server |
--------------- | coverage middleware |
| actual routes amp; code |
------------------------
Ответ №1:
Очевидно, вы можете сделать это с Нью-Йорком. Он просто обертывает узел, и когда вы останавливаете процесс, он генерирует покрытие затронутых линий
nyc node index.js