0

私はMavenでJasmineを使い始めたところです。Jasmineを使用していますが、何らかの理由でBackboneモデルが見つかりません。Backbone.jsモデルを含むフォルダーを指すJavaScriptsrcディレクトリがあります。私のJavaScriptテストディレクトリには、次のような簡単なテストがあります。

describe('ToDo Model',function()
{
    it('Test',function() {
        var todo = new ToDo();
    });
});

しかし、ToDoが定義されていません。バックボーンモデルファイルなどの中にテストを書き込む必要がありますか?ありがとう。

4

2 に答える 2

2

ToDo もグローバル名前空間にある必要があります。Chrome/Firefox コンソールに次のように入力してみてください。

window.ToDo

undefined が返された場合、それが問題です。

于 2012-07-26T18:43:06.730 に答える
1

通常は、アプリのグローバル名前空間を定義することをお勧めします。次に例を示します。

window.Application = {
  Models: {},
  Views: {},
  Collections: {}
}

// etc.

次に、次のようなモデルを定義します。

(function (Models) {
  Models.ToDo = Backbone.Models.extend({
    // etc...
  });
})(Application.Models);

ここで名前空間を指定する必要はありませんがModels、ファイルの一番上に表示されることは視覚的な手がかりになると思います。

于 2012-07-26T18:49:33.657 に答える