Модульное тестирование на основе событий JavaScript - PullRequest
7 голосов
/ 10 декабря 2010

Я пишу серверное приложение с помощью node.js и хотел бы включить модульные тесты.Одна вещь, с которой я борюсь, это хороший способ для модульного тестирования EventEmitter и setInterval/setTimout

Какие варианты у меня есть для модульного тестирования асинхронного JavaScript на стороне сервера?

Я в курсеЯ могу просто подключить другого слушателя к EventEmitter, который является функцией тестирования, но тогда как мне гарантировать, что функция тестирования когда-либо будет работать?Часть модульного теста состоит в том, чтобы обеспечить выполнение каждой части модульного теста.

Я мог бы сам использовать setTimeout, но это похоже на хакерское решение.

Если вам поможет вот какой-то пример кода, который я пытаюсь протестировать.emit вызовет событие)

[Edit]

Я начал читать некоторые тесты EvevntEmitter со https://github.com/ry/node/tree/master/test/simple, и это помогает мне понять, как это сделать.

Ответы [ 2 ]

3 голосов
/ 14 декабря 2010

Лично мне больше всего помогло чтение тестов для себя на node.js (я прочитал только половину из них).

Это дало мне хорошее представление о том, как тестировать асинхронный код.

Спасибо @tmdean за указание на другой пример тестирования асинхронного кода.

3 голосов
/ 11 декабря 2010

Я бы порекомендовал вам проверить Жасмин для ваших тестов.Он создан для запуска тестов вне среды браузера и поддерживает такие вызовы, как setTimeout, предоставляя вам фальшивые часы, с помощью которых вы можете перемещать время на досуге для тестирования всего, что связано со временем.

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