1

Express フレームワークを使用して、コーヒー スクリプトで node.js アプリを作成しています。いくつかのオプションを検討した後、最終的に mocha とzombie.js を使用することにしました。ただし、UI のテストに苦労しています。たとえば、成功したユーザー認証を実装するには、次のようにします。ここに貼り付けられたコードを参照my_gist

私が本当にやりたかったことは次のとおりです。

  • call get '/sessions/new'、これはSessionsControllerを呼び出し、認証フォームを表示します
  • 次にbrowser.visitメソッドを呼び出し、フィールドに値を入力してフォームを送信すると、postメソッドが生成されます
  • ユーザー名とパスワードが正しければ、SessionsControllerがそれに応じて反応し、正しいページにリダイレクトされることを期待します。残念ながら、テストを実行するたびに、Zombie: require is not defined ReferenceError: require is not defined. 私の/javascripts/app.jsの2行が気に入らないことがわかりました

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

visit メソッドの後でブラウザーから情報を抽出しようとしても、未定義の値しか得られません。どうやら私の主張はどれもテストされていません。テストに合格するだけです。私が間違っていることはありますか?Zombie.js を使用して、コーヒー スクリプトで記述されたアプリをエクスプレスでテストした人はいますか?その問題に直面した人はいますか? 何が修正されますか?

4

1 に答える 1

0

/javascripts/app.jsがブラウザーからロードされている場合は、RequireJS(またはを定義する他のブラウザーフレームワークrequire)が最初にロードされていることを確認するか、HTMLドキュメントにロードします。

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

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

于 2012-08-23T05:25:04.453 に答える