Читаю Узел Craftsman Мануэль Кисслинг и в главе эмиттеров событий он предоставляет следующие жасмин проверочного SPECКак работает этот тестовый код Jasmine?
it('should fire a "grew" event when the file grew in size', function(done) {
var path = '/var/tmp/filesizewatcher.test';
exec('rm -f ' + path + ' ; touch ' + path, function() {
watcher = new FilesizeWatcher(path);
watcher.on('grew', function(gain) {
expect(gain).toBe(5);
done();
});
exec('echo "test" > ' + path, function() {});
});
});
Я понимаю, что мы должны вызвать done()
сказать жасмин событие действительно выстрелил и выполнить обратный вызов зарегистрирован it()
То, что я не понимаю, как это , что кода достигается, когда exec
заявления необходимо, чтобы вызвать Бодрствующий grew
события внутри другой функции обратного вызова, которая зависит от done
времени выполнения д. Я попытался переместить exec
вне внутреннего обратного вызова и время проверки, я не понимаю, почему. Разве мы не нуждаемся в том, чтобы эта часть была синхронной для чего-то, что действительно могло начаться?
Помогите мне освободить свой разум от его процедурных кандалов! Я так смущен, что мой вопрос кажется смутным даже для меня.
Привет, blackbird57: Вы когда-нибудь проходили все учебные занятия? У меня проблемы с миграцией. – Patricia
@ MissLucy no Я этого не делал, я просто использовал то, что мне нужно, может быть, задал новый вопрос? – blackbird