sinon.fakeServer
またはとrequire.jsを使用してBackbone.Model.fetchリクエストをシミュレートしようとしてsinon.useFakeXMLHttpRequest
います。
これが正しく機能していない私のコードのピアスです(1)
私の質問は
、sinon.fakeServerを使用してフィクスチャデータを取得するにはどうすればよいですか?
このコードの最後にある2つのコメントをお願いします。
PS:
sinon.fakeServerに関するコードをコメント化してフェッチ要求を行うと、サーバーに対してget要求が行われます。
sinon.fakeServerを使用してgetリクエストを行うと、何もフェッチされません(サーバーとフィクスチャの両方)
(1)
define([
'js/models/myModel',
'js/spec/fixtures/myModel.fixture'
], function (MyModel) {
beforeEach(function () {
this.myModel = new MyModel();
console.log("fixtures", this.fixtures.Task, this);
this.fixture = this.fixtures.Task.valid;
this.fixtureTask = this.fixture.response;
this.server = sinon.fakeServer.create();
this.server.respondWith(
"GET",
Routing.generate("api_get_tasks"),
JSON.stringify(this.fixture)
);
});
afterEach(function () {
this.server.restore();
});
it("should make the correct request", function() {
this.server.respond();
this.feeds.fetch();
console.log(this.fixture); // this response is OK
console.log(this.myModel.attributes); // it does not take the value from this.fixture
console.log("fixtures", this.fixtures.Task, this); // see the picture below
});
});