我迷失了这个并且我已经完成了文档,我可以把它包裹起来。
我试图编写一个测试,检查方法是否会抛出这样的错误......
it("requires an soCode parameter", () => {
let readyStub = Sinon.stub(objUt, '_executeWhenReady');
expect(objUt.mapStopsAroundHub(undefined, testPostCode)).to.throw("The 'soCode' parameter is required");
readyStub.restore();
});
这失败了,因为它似乎希望函数不是函数执行 - 我改变了代码如下......
it("requires an soCode parameter", () => {
let readyStub = Sinon.stub(objUt, '_executeWhenReady');
expect(objUt.mapStopsAroundHub).to.throw("The 'soCode' parameter is required");
readyStub.restore();
});
这可以很好地检查第一个参数(因为我现在无法提供任何参数),但我对第二个参数运气不好......
it("requires an param2 parameter", () => {
let readyStub = Sinon.stub(objUt, '_executeWhenReady');
expect(objUt.mapStopsAroundHub).to.throw("The 'param2' parameter is required", "VALUE", undefined);
readyStub.restore();
});
(我尝试将参数添加到throw调用但不起作用 - 它不在我能看到的文档中,所以并不奇怪)。
然后我想尝试包装函数调用...
it("requires an param2 parameter", () => {
let readyStub = Sinon.stub(objUt, '_executeWhenReady');
expect(() => objUt.mapStopsAroundHub("VALUE", undefined)).to.throw("The 'param2' parameter is required");
readyStub.restore();
});
但是失败了,因为我把它包裹起来的功能并没有抛出错误。
当然这样的事情应该非常简单。我做错了什么?
答案 0 :(得分:0)
it("requires an param2 parameter", () => { let readyStub = Sinon.stub(objUt, '_executeWhenReady'); expect(() => { objUt.mapStopsAroundHub("VALUE", undefined);} ).to.throw("The 'param2' parameter is required"); readyStub.restore(); });