Как мне протестировать приложение Node.js со службой, которую нельзя остановить?
Я пишу модуль Node.js, используя express-cassandra
,
Как только я инициализировал express-cassandra
мой тест больше не хочет выходить сам по себе, так как сервис запущен и работает и сохранен в глобальном масштабе, и я не видел функций, которые могли бы отключить все (express-cassandra
подключается к Elassandra
узел в бэкэнде - форма Cassandra-подобной службы NOSQL, которая использует REST API для связи.)
Мне интересно, как каждый пишет тесты против такой установки. Поскольку дело в том, чтобы проверить express-cassandra
окружающей среды, я не хочу имитировать эту часть (я бы на самом деле не был на это способен, это слишком сложно!)
На данный момент лучшее, что я нашел, это выполнить цепочку обещаний:
Promise
.then(() => { ... })
.then(() => { ... })
...
.then(() => { console.log('success!'); process.exit(0) })
.catch(err => { console.log('failure'); process.exit(1) })
и как только я ударил последний тогда (), я звоню process.exit(0)
,
Но такое чувство, что это взлом.