#1,使用sinon创建假服务器
// 创建假服务器
let server = sinon.fakeServer.create();
// 设置/test的响应内容
server.respondWith(
'GET',
'/test',
[200, {'Content-Type': 'application/json'}, JSON.stringify({message: 'success'})]
);
// 发送请求,可以是原生、jQuery等的各种实现
yourRequestFunc();
// 假服务器响应请求
server.respond();
// 对假服务器进行恢复(抹掉respondWith的设置)
server.restore();
#2,使用sinon创建一个模块/对象的仿制品
// myApi是你需要mock的一个对象/模块
let myApi = require('my-api');
let fakeApi = sinon.mock(myApi);
// 设置将要调用的方法do
fakeApi.expects('do')
// 只执行一次
.once()
// 调用时会有参数,参数是一个对象
.withArgs(sinon.match({consumers: {username: 'new'}}))
// 调用后返回1
.returns(1);
// 运行要测试的方法,里面会运行`myApi.do()`
testFunc();
// 验证上面的设置
fakeApi.verify();