ジャスミンとガードを使用して、Rails 3.2 アプリケーションの ember ベースのフロントエンドをテストしようとしています。このために、jasminerice と Guard-jasmine、phantomjs を使用します。セットアップは非常に簡単でシンプルで、いくつかのサンプル仕様を実行できました。残り火で遊ぶとなると、物事は狂ってしまいます。ビデオリーダークラスをテストする以下の仕様があります。loadVideo メソッドを呼び出すときに、対応するビデオ DOM 要素の値で videoHeight および videoWitdh プロパティを設定する必要があります。ブラウザで jasmine を実行するとテストに合格しますが、guard と phantomjs で実行すると失敗します。「undefined が 640 に等しいと期待する」というメッセージが表示されました。テストがphantomjsで実行されたときに、私のDOM要素が考慮されていないようです。
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);
私の仕様は正しく書かれていますか?