Added new property "failOnSetBackingFieldException" to fail test if a backing field could not be set #1349
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.
Hi,
as mentioned in #1291, if setting a backing field fails, it just prints a warning but the test does not fail. I introduced a new parameter to alter this behavior - when the new property is set to true, the test fails.
I think this improves handling a lot, as clearly the developer wanted to mock something which failed.
The parameters are a bit confusing to me, as there is the io/mockk/settings.properties and the mockk.properties file. I used settings.properties because it is available in the code I added the fix to. The property "throwExceptionOnBadMock" sounds like it should do what I implemented, but I did not want to break existing codebases by re-using this property.
The unit tests are not very nice, the real problem occurs if you mix Java and Kotlin code (see the original issue) and Java files are not available on the classpath in the current setup of MockK.
Please check it out, I would be happy if this change made it :)