New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix unmockkAll to work if constructor was mocked multiple times #870
Conversation
Thanks a lot for putting this together! The code LGTM, can you just add some test coverage for cases when I think that may interfere with constructor mocking behavior as well and we may want to test that Thanks again! |
Hi @Raibaz I updated it to include some testing for |
Thanks a lot! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.mockk:mockk](https://mockk.io) ([source](https://togithub.com/mockk/mockk)) | `1.12.5` -> `1.12.7` | [![age](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/compatibility-slim/1.12.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/confidence-slim/1.12.5)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>mockk/mockk</summary> ### [`v1.12.7`](https://togithub.com/mockk/mockk/releases/tag/1.12.7) [Compare Source](https://togithub.com/mockk/mockk/compare/1.12.6...1.12.7) #### What's Changed - Update android-sdk-detector.settings.gradle.kts by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#886 - only sign if the signing properties are present by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#885 - Fix an issue that Android libraries was not published by [@​kubode](https://togithub.com/kubode) in [mockk/mockk#887 #### New Contributors - [@​kubode](https://togithub.com/kubode) made their first contribution in [mockk/mockk#887 **Full Changelog**: mockk/mockk@1.12.6...1.12.7 ### [`v1.12.6`](https://togithub.com/mockk/mockk/releases/tag/1.12.6) [Compare Source](https://togithub.com/mockk/mockk/compare/1.12.5...1.12.6) #### What's Changed - Dependency updates, JDK17 v2 by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#863 - Dependency updates, JDK17 by [@​hduerkop](https://togithub.com/hduerkop) in [mockk/mockk#829 - Fix unmockkAll to work if constructor was mocked multiple times by [@​Chrostoq](https://togithub.com/Chrostoq) in [mockk/mockk#870 - fix: fix value class field determination by [@​qoomon](https://togithub.com/qoomon) in [mockk/mockk#872 - [#​854](https://togithub.com/mockk/mockk/issues/854) update projects to use new Kotlin Multiplatform Gradle plugin by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#855 #### New Contributors - [@​hduerkop](https://togithub.com/hduerkop) made their first contribution in [mockk/mockk#829 - [@​Chrostoq](https://togithub.com/Chrostoq) made their first contribution in [mockk/mockk#870 **Full Changelog**: mockk/mockk@1.12.5...1.12.6 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/RBusarow/Dispatch). PR-URL: #564
Hi all!
This PR is to fix the Issue #838
I changed
internalMockkConstructor
to work likeinternalMockkObject
andinternalMockkStatic
by changing it to usecancelPut
I added a new test but I had to remove
test2
.I'm unsure what exactly they test, but with my change the mocked instance in
ExampleObject
private val exampleClass
is reset once mockkConstructor is called again in test2. And since it's in an object which is not reset between test1 and test2, test2 fails because it is not re-instantiated with the mocked class.