Чай: ожидание ошибки или нет в зависимости от параметра [дубликат]
На этот вопрос уже есть ответ здесь:
Мокко / Чай ожидают. К броску не ловят брошенные ошибки 6 ответовЯ пытался сделать текст функции, которая обрабатывает ошибки таким образом, что, если это допустимая ошибка, она выбрасывается, но если это не так, то ничего не выдается. Проблема в том, что я не могу установить параметр при использовании:
expect(handleError).to.throw(Error);
В идеале было бы использовать:
expect(handleError(validError)).to.throw(Error);
Есть ли способ достичь этой функциональности?
код функции:
function handleError (err) {
if (err !== true) {
switch (err) {
case xxx:
...
}
throw "stop js execution";
else {}
}
И код теста (работает не так, как задумано):
it("should stop Javascript execution if the parameter isnt \"true\"", function() {
expect(handleError).to.be.a("function");
expect(handleError(true)).to.not.throw(Error);
expect(handleError("anything else")).to.throw(Error);
});