Я использую jasmine-узел npm для модульного тестирования моего кода javascript. Насколько я понимаю, он использует Jasmine 1.3.Проверьте, разрешено или отклонено обещание с Jasmine 1.3 в Nodejs.
Большая часть моего кода включает асинхронные обещания (с использованием встроенных обещаний ES6, а не одной из сторонних библиотек Promise). Я прочитал, что у Jasmine 2 есть метод под названием done(), который вы можете вызывать из «затем» или «поймать» вызов по вашему обещанию. Что я могу сделать в Jasmine 1.3? Есть ли способ имитировать это? Или есть лучший подход или разная ветвь жасминового узла?
Смотрите этот вопрос: Test if a promise is resolved or rejected with Jasmine in Nodejs
Насколько я знаю, Jasmine 1.x не имеет хорошей асинхронной тестовой поддержки. Если это вообще возможно, я перейду к Jasmine 2.x. Это намного лучше по ряду причин. Другая возможность, которая также не очень хорошая, - это использовать насмешливость и укупорку всего вашего асинхронного кода, чтобы он мог выполняться синхронно в одном тике. Похоже, что 1.3 действительно поддерживает асинхронную поддержку, но немного беспорядочно. http://jasmine.github.io/1.3/introduction.html#section-Asynchronous_Support –
Мне бы хотелось перейти на Jasmine 2, но мне нравится удобство модуля npm, который все еще находится на уровне 1.3. Я наткнулся на модуль Jasmine.Async, который выглядит многообещающим, что позволяет называть метод «done()» как Jasmine 2, но я все еще изучаю. –
Я думаю, вы ошибаетесь. Модуль npm с жасминовым сердечником - тот, который вы хотите. https://www.npmjs.com/package/jasmine-core –