Я пытаюсь написать асинхронный тест, который я никогда не делал раньше. В английском тесте говорит, что это:Простой тест Async Jasmine с перевернутыми ожиданиями
- создать объект таймера с обратным вызовом
- если таймер был быть запущен, он бы вызвать после 500мса
- таймер не должен быть запущен
- подтвердите, что обратный вызов не вызван ожиданием 1000 мс и проверкой, было ли оно вызвано
Итак, прочитав документы и посмотрев на другой код, я думаю, что так я должен его написать.
it("should create a timer not start", function (done) {
var fail = false, timer;
// if this test is passing, this should do nothing
runs(function(){
timer = new Timer(function() {
fail = true;
timer.pause();
}, 500);
});
// if this test is passing, fail should never be true
waitsFor(function(){
return fail;
}, 1000);
// this should be called after 1 second because the previous times out
runs(function(){
expect(fail).toBeFalsy();
});
});
Тем не менее, ожидания ждут, потому что отказ никогда не будет правдой. Мне нужно ждать. Для ожидания полной секунды, а затем оператор ожидания может работать, но мне нужен тайм-аут, чтобы быть хорошим, а не сбоем (который Жасмин сообщает об этом как).
Как это сделать с помощью Жасмина?
Пожалуйста, отметьте правильный ответ, если он был опубликован или комментировать. – bnieland