Express node.jsプロジェクトを介してユニットテストをBackboneモデルと統合しようとしていますが、このタスクを実行する方法を正確に把握するのに苦労しています。(補足:私は多くのJavaのバックグラウンドを持っており、違いがあることを認識していますが、これまでのところ、ノード開発環境のシンプルさと優雅さが大好きです。)
私の問題は次の問題に起因します。バックボーンモデルをブラウザ内で実行するには、ブラウザに公開する必要がありますが、mochaによるテストは、ノードランタイム環境では「サーバー側」です。
これが私が話していることの例です:
モデルファイル:/public/js/backbone/models.js
var SomeModel = Backbone.Model.extend({...});
サーバーサイドテスト:/test/backbone/models-test.js
???
私は書きます ???サーバー側を介した通常の単体テストは、次のようにするだけです。
var SomeModule = require('./someModule');
そして、あなたの陽気な道を進んでください。明らかに、ブラウザはNode内で実行されていないため、モジュールはすぐには利用できません。
ブラウザ側のjavascriptをrequire.js内にラップする必要があるという投稿をいくつか読みました。これにより、これらのjavascriptファイルがノードの名前空間に自動的に配置され、requireを実行してテストを続行できるようになります。しかし、私はそのようなタスクを達成するための首尾一貫した方法を見つけられず、例を探し回ってみましたが、当てはまるものを見つけることができないようです。確かに、JavaScriptでスコープを設定する方法、依存関係の挿入などのアイデア全体に頭を悩ませているので、このフレームワークに関する一般的な知識が不足している可能性があります。
どんな助けでも大歓迎です、そしてこの質問がすでに百万回尋ねられたならば、私はそれが確かにあると確信しています、そして私はそれを間違った方法で尋ねています。
前もって感謝します。