node.js - тестирование, чтобы убедиться в отсутствии «висячих обратных вызовов» - PullRequest
2 голосов
/ 20 февраля 2011

Я хотел бы, чтобы мои тесты node.js гарантировали, что после завершения теста и вызова test.finish() или аналогичного кода больше не будет кода, ожидающего запуска. Нет больше операций ввода-вывода, ожидающих завершения, больше нет таймеров, ожидающих срабатывания и т. Д. И т. Д.

Возможно ли это в node.js?

Ответы [ 3 ]

1 голос
/ 20 февраля 2011

При использовании узла узла каждая тестовая функция продолжает работать до тех пор, пока не будет вызван test.done(). Каждая тестовая функция должна вызывать это. Таким образом, вы можете убедиться, что ваши обратные вызовы были выполнены. Мне также нравится использовать модуль async , чтобы немного очистить мой код (обратные вызовы).

0 голосов
/ 03 марта 2011

I написал свой собственный , который по существу раскручивает экземпляр узла для каждого теста. Если ваш тест оставляет ответную реакцию, узел просто не выйдет, и весь набор тестов зависнет, вместо того, чтобы рано завершить работу с успехом (что было бы плохо!)

0 голосов
/ 21 февраля 2011

Используете ли вы test.expect() в начале каждого теста и test.done() в конце каждого?Думайте о них как о начале и конце скобок.

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