Генерировать тестовое покрытие для тестов API? (предпочтительно для узла / шутки)

#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