2012-04-13 5 views

答えて

3

ビューでel自体が生成されている場合は、ビューの$elで簡単にイベントをトリガーできます。


describe("my test", function(){ 

    var MyModel = Backbone.Model.extend({}); 

    var MyView = Backbone.View.extend({ 
    events: { 
     "click a": "aClicked" 
    }, 

    aClicked: function(e){ 
     e.preventDefault(); 
     this.model.set({foo: "bar"}); 
    }, 

    render: function(){ 
     this.$el.html("<a href='#foo' id='fooLink'>foo</a>"); 
    } 
    }); 

    var myModel; 

    beforeEach(function(){ 
    myModel = new MyModel(); 
    var myView = new MyView({ 
     model: myModel 
    }); 

    myView.render(); 

    // this will "click" the link 
    myView.$("#fooLink").trigger("click"); 
    }) 

    it("should do that stuff", function(){ 
    expect(myModel.get("foo")).toBe("bar"); 
    }); 

}); 
+0

素晴らしい!しかし、モデルが設定されていることをどうやってスパイすることができますか? – chchrist

+0

私が書いたテストでは...または質問が分かりません –

+0

イベントがトリガーされますが、モデルが呼び出されたかどうかはチェックされません – chchrist

関連する問題