現在の Backbone/CoffeeScript アプリケーションにいくつかのテストを統合しようとしています。
ウィンドウ オブジェクトに焼き付けたアプリケーション用のモジュールを作成しましたが、ウィンドウが定義されていないため、モカ テストの実行に失敗します。
module = (name) ->
window[name] = window[name] or {}
module 'Cart'
モカのウィンドウを定義する方法についての指示はありますか?
jsdom を使用してそのようにウィンドウを作成しようとしましたが、それでも同じエラーがスローされました。前もって感謝します。
編集:
jsdom を使用するよりも、zombie.js を使用するほうが先に進みます。
zombie = require 'zombie'
browser = new zombie.Browser
browser.window.location = 'http://local.cart'
DOMWindow にアクセスし、変数をその値の 1 つに設定する方法を見つけようとしています。
browser.window が、Chrome コンソールで window にアクセスしたときに返されるオブジェクトと同じであれば理想的ですが、そうではありません。
探しているものにアクセスできます
zombie.visit 'http://local.cart', (err, browser) ->
throw err if err
browser.window.Cart
すべての仕様で使用できるグローバル変数にこれが返すものを設定する方法はありますか?
beforeEach を試したり、前のブロックをメソッドに設定したり、そのメソッドに変数を設定したりしても、欲しいものが得られないようです。