URLに基づいて特定のset()メソッドを呼び出すBackbone.RouterベースのmyRouterがあります。
var MyRouter = Backbone.Router.extend({
routes: {
"doSomething/:value": "doSetterOnModel",
},
doSetterOnModel: function(value) {
// does some set(value) calls on my Model
},
});
QUnitテストを使用してモデルが正しく更新されるかどうか(set())をテストしたいと思います。
test( "update Model via URL change", function() {
var value = "newValue";
var url = "http://localhost/#/doSomething/" + value;
//does not work as it moves page away from QUnit's tests.html page
window.location = url;
// does also not work because it moves away from QUnit's tests.html page
myRouter.navigate(url);
deepEqual( myModel.get(key), value, "Value on Model was not updated by URL change");
});
ルーターが特定のURLに対して正しいアクションを実行するかどうかをテストするために、QunitでURLを設定するにはどうすればよいですか?