sinonjs/sinon
在 GitHub 查看sinon not throwing the error that been thrown when the error is undefined and also fail to assert
Open
#2,471 建立於 2022年9月11日
Difficulty: EasyHelp wantedwontfix
描述
Describe the bug
If the function throw undefined then:
- calling the function does not throw
sinon.assert.threw(a);fail
To Reproduce ReplIt Link
const a = sinon.spy(() => {
throw undefined;
});
try {
a();
} catch (e) {
// 1. this won't be logged
console.log('Error has being thrown');
}
// 2. This will throw
// Uncaught AssertError: spy did not throw exception
sinon.assert.threw(a);
Expected behavior
- throw the thrown error
- the assertion should pass
As said in the docs about the 2nd thing:
sinon.assert.threw(spyOrSpyCall, exception);Passes if spy threw the given exception.
The exception can be a String denoting its type, or an actual object.
If only one argument is provided, the assertion passes if spy ever threw any exception.
Context (please complete the following information):
- Library version: 14.0.0
- Environment: node