0
我迷失了这一点,我已经通过文档正确,我可以;我的头围绕着它。如何用Chai声明错误?
我试图写一个测试,检查该方法抛出这样的错误...
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();
});
但失败了,因为该功能我不会引发错误包裹它。
当然这样的事情应该很简单。我究竟做错了什么?