Ajax означает, что ваш код выполняет запросы к серверу, обычно используя объект XMLHttpRequest. Если в вашем тесте этого кода используется сервер, вы можете в действительности протестировать больше серверного кода, чем JavaScript. Если вам это подходит, вы можете использовать среду тестирования, такую как QUnit (часть проекта jQuery, но не требует jQuery) или YUI Test , которая поддерживает асинхронные тесты, необходимы здесь.
В противном случае вы должны заменить фактический запрос ajax на фиктивный запрос, который просто возвращает некоторые тестовые данные, даже не выполняя фактический запрос. Для этого есть различные решения, но мне нужно больше контекста для любой конкретной рекомендации. Хотя, если вы используете модуль jjuery ajax , вы можете использовать xhr-опцию для замены XMLHttpRequest на фиктивный объект.