fix: type check for error instance when used toThrowError method #14576
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
toThrow/toThrowError
method does not type checking when expected value is error instance.current behavior
expect behavior
I added some codes that compare type for this problem.
When comparing, need to check error instance is custom error or not.
Because in some tests like this:
In this case, both
thrown.value
andexpected
areError
instances.But their constructor is not same.
It's no wonder that
thrown.value instanceof expected.constructor
is false, thus test will fail.So I checked expected error is custom error or not before comparing type of instance.