Comments (7)
Basically it is not supported. #39
from mockk.
You need to use mockito-android.
But:
You can't mock the final
class on Android with mockito
.
So you have to make your kotlin class open
.
You can do it via hand or use gradle plugin like allopen
But. still one more thing:
You can not mock API from a jar file, or a 3rd party lib even you mark everything as open!!!
In my case, which means I am screwed.... the whole thing needs to be redeisgn in order to emebed the gradle project rather than just a file.
from mockk.
Sad story.
From my side I was making first steps to reimplement Android instrumentation test support. But this is hard task. Linkedin guys wrote so much code just for that support. https://github.com/linkedin/dexmaker
from mockk.
Haha, it's indeed very sad. Hope mockk can make it happen, or give some advices on how to workaround the platform restriction.
Tried that before. Still has that restriction. Can't mock a 3rd party lib. Which in my case, a .jar
file equals a 3rd party lib.
And to be honest, if the multi-platform project could support my use case. I won't need to depend on a file at all.
Anyway. Just
from mockk.
Latest update of mockito 2.18.3 solves the problem.
Now you can use mockito-android
to mock a open
class in Android Instrumentation test even it is in a .jar
file
But would be much better if I can just use mockk
for this 😞
Keep up the good work! Love this project.
from mockk.
Duplicate for #39. Closing. Soon to be redolved
from mockk.
So... what was the solution, then?
from mockk.
Related Issues (20)
- Allow relaxing a mock and some of its methods after it is initialized HOT 2
- JVM-Target changed in latest releases? HOT 4
- value class that implements interface or sealed interface cannot be used in `returns`
- Incorrect argument state in printed list of recorded calls for `verify` HOT 1
- Warning: Namespace 'io.mockk' is used in multiple modules and/or libraries: io.mockk:mockk-android:1.13.8, io.mockk:mockk-agent-android:1.13.8. HOT 1
- Caused by: java.lang.RuntimeException: Method isLoggable in android.util.Log not mocked.
- Incompatible with Kotlin 1.9.20 in KMP project HOT 4
- when mocking a method object is being instantiated and method is called
- Spyk on object class HOT 3
- MockKException: Failing to instantiate mocks for functions
- Issue with interface mock and reflection
- mockkStatic(System::class) causes java.lang.StackOverflowError with java 17 HOT 2
- Support building JVM / common without Android SDK HOT 1
- Test passes when compiled for JDK target 19, but fails when compiled for JDK target 21 HOT 2
- Does 1.13.8 version require jvm 11? HOT 1
- Support Kotlin 1.9.20's enums with mockkObject HOT 2
- `registerInstanceFactory` supplier is not used for value classes
- Spy Object Returns Unexpected Default Value Instead of Real Property
- Incompatibility between Kotlin 1.7.xx and mockk after updating to 1.13.8
- Provide better java interop HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mockk.