Я потерялся с этим, и я прошел через документацию, и я не могу обернуть вокруг себя голову.Как я могу утверждать ошибку с Чаем?
Я пытаюсь написать тест, который проверяет, что метод выдает ошибку, как это ...
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();
});
, но это не удалось, потому что функция я обернул ее не бросает ошибку.
Несомненно, что-то подобное должно быть очень простым. Что я делаю не так?