Как протестировать приложение Node.js со службой, которую нельзя остановить? - PullRequest
0 голосов
/ 02 декабря 2018

Я пишу модуль 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).

Но такое чувствоэто хак.

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