【发布时间】:2019-03-23 03:35:09
【问题描述】:
我正在使用 sinon 来存根一个对象的实例,该对象在一个带有回调的函数内部,我该如何测试它? 我不知道如何测试,这会引发错误。
这是用 js 搭配 sinon 和 mocha。
功能是:
import tracker from 'pivotaltracker';
export async function getPivotalProjects(token) {
const clientTracker = new tracker.Client(token);
const userProjects = () => new Promise((resolve, reject) => {
clientTracker.projects.all((error, projects) => (projects ? resolve(projects) : reject(error)));
});
return userProjects();
测试是:
import tracker from 'pivotaltracker';
let spyTracker;
beforeEach(() => {
spyTracker = sinon.stub(tracker, 'Client');
});
it('should do the request to get the activities from projects.', async () => {
spyTracker.callsArgWith(1, null, [true, 'token']);
// spyTracker.projects.all.returns('token');
await PivotalTrackerApi.getPivotalProjects('token');
sinon.assert.threw(spyTracker);
spyTracker.restore();
});
这有什么问题?如果有人可以帮助我,那就太好了。
【问题讨论】:
-
that throws me an erroran 你说的错误,多有趣,有什么特别的错误吗? :p -
哦,对不起,理解错了,我想说的是,这实际上给我一个测试执行的错误,我不知道如何测试它
-
好的,让我尽可能用简明的英文发布...请在问题中包含您遇到的错误,因为“错误”信息不足,您可能还没有如果您不打算透露错误是什么,请提到它
-
再次抱歉,错误是这个:
Error: the function [Function] was thrown, throw an Error :).;抱歉,正在学习,谢谢!
标签: javascript object promise callback sinon