2012-01-15 9 views
1

エクスプレスフレームワークを使用してcoffeeスクリプトでnode.jsアプリケーションを作成しています。いくつかのオプションを調べた後、私は最終的にmochaとzombie.jsを使用することに決めました。しかし、私はUIを厳しくテストしています。例えば、私は次の操作を行い成功したユーザ認証を実装する:SessionsController呼び出しますゾンビでNode.jsアプリをテストする

  • コールget '/sessions/new'、:参照ここで私が本当にやりたいことmy_gist

    貼り付けるコードは以下のとおりです。そして、その後、私はbrowser.visitメソッドを呼び出します認証フォーム

  • を表示するフィールドの値を入力し、ポストメソッドが生成されますフォームを提出
  • ユーザー名とパスワードが正しい場合は、SessionsControllerがそれに応じて反応し、正しいページにリダイレクトされると思います。 残念ながら、私がテストを実行するたびに、それは約Zombie: require is not defined ReferenceError: require is not definedと文句を言う。それは私が訪問メソッドの後にブラウザから任意の情報を抽出しようとする場合でも、私はちょうど未定義の値を取得判明し、それは私の/javascripts/app.jsで二行

    
    require("coffee-script") 
    require('./tfs.coffee') 
    

が好きではありません。 。明らかに私の主張は全くテストされていません。それはテストに合格するだけです。私が間違っていることは何ですか? Zombie.jsを使ってExpressで書かれたコーヒースクリプトをテストしている人は誰もその問題に直面していますか?修正は何ですか?

+0

ブラウザからではなくnode.jsでテストを実行していますか? – fent

+0

yes from node.js – joque

答えて

0

/javascripts/app.jsがブラウザからロードされている場合、あなたはRequireJS(またはrequireを定義するいくつかの他のブラウザのフレームワーク)が最初にロードされていることを確認したい、またはあなたのHTML文書にそれらをロード:

<script src="coffee-script.js" type="text/javascript"></script>
<script src="tfs.coffee" type="text/coffee"></script>

値を抽出する前に、ページが完全に読み込まれるまで待つ必要があります。

関連する問題