1
私はjsfiddleでHTTPフェッチをモックしようとしています。私は、結果が偽のものと等しくないようにするために、何が間違っているのか分かりません。ここで擬似でモックHTTPフェッチ
は私のサンプルコードです:fatso83として(。あなたは、ブラウザのコンソールでログを見ることができます)
http://jsfiddle.net/maryam_saeidi/yredb06m/7/
async function getUser(userId) {
var user = await fetch("http://ui-developer-backend.herokuapp.com/api/users/" + userId);
return user.json();
}
mocha.setup("bdd");
chai.should();
var assert = chai.assert,
expect = chai.expect;
describe('getUser()',() => {
let server;
beforeEach(function() {
server = sinon.fakeServer.create();
});
afterEach(function() {
server.restore();
});
it('should return a user.', async() => {
const response = await getUser(1);
console.log("response:", response);
});
it('should return a user object', async() => {
const userId = 10;
server.respondWith("GET", "http://ui-developer-backend.herokuapp.com/api/users/" + userId,[200, { "Content-Type": "application/json" },
'{ "id": "1", "username": "John", "avatar_url": "http://placekitten.com/g/300/300" }']);
const response = getUser(userId);
server.respond();
response.then(function(result){
console.log("result:",result); //The code doesn't get here
result.should.deep.equal({ "id": "1", "username": "John", "avatar_url": "http://placekitten.com/g/300/300" });
});
});
});
mocha.run();