Я пытаюсь использовать жасмин и охрану для проверки интерфейса на основе ember для моего приложения 3.2 рельсов. Для этого я использую jasminerice и guard-jasmine, phantomjs. Настройка была очень простой и простой, и я могу запустить некоторые образцы спецификации. Когда дело доходит до игры с эмбером, все идет с ума. У меня есть спецификация ниже, которая тестирует класс видеопроигрывателя. Он должен установить свойство videoHeight и videoWitdh со значением соответствующего элемента DOM видео при вызове метода loadVideo. Когда я запускаю жасмин в своем браузере, тестовый проход, но когда я запускаю его с помощью guard и phantomjs, он терпит неудачу. Я получил «Ожидание неопределенного равным 640». Кажется, что мой элемент DOM не учитывается, когда тестовый запуск на phantomjs.Безголовое испытание Применение Ember с защитой и жасмином
describe "VideoReader", ->
it "loads video from video DOM element", ->
videoDOM = Ember.$("<video width='640' height='480'><source src='/test.mp4'></source></video>")[0];
player = Topper.VideoReader.create();
player.loadVideo(videoDOM);
videoHeight = player.get('videoHeight');
videoWidth = player.get('videoWidth');
expect(videoHeight).toEqual(480);
expect(videoWidth).toEqual(640);
Является ли моя спецификация правильно написанной?
мой метод loadVideo QUnit в выглядит так: loadVideo: функция (видеоDOM) { это.set ('videoHeight', videoDOM.height); this.set ('videoWidth', videoDOM.width); }, – jrabary
Вы пробовали обернуть свой вызов 'loadVideo' в' Ember.run (function() {player.loadVideo (videoDOM);}); '? – pangratz
Спасибо за ссылку, это было полезно. – pjmorse