mockito-kotlin
turbine
mockito-kotlin | turbine | |
---|---|---|
6 | 8 | |
3,073 | 2,328 | |
0.0% | 0.6% | |
6.1 | 8.2 | |
28 days ago | 25 days ago | |
Kotlin | Kotlin | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mockito-kotlin
-
Best practices for Unit Testing Android Apps with Mockk, Kotest and others
As you can see, I create mockUsersRepository object using mock( function. Then, in setup() method, I set up this repository in such a way so that it would return a list of hardcoded values. After this, on top of everything else, I check if, for mockUsersRepository object, getUsers method was called with verify function, in the test method. It’s important to note that Mockito is a very old framework and was originally written for Java. When Kotlin appeared, it turned out that out of the box this framework can work with some limitations, which is why an extension, mockito-kotlin, was released. The example above was written with it. Another Mockito’s limitation was that it was impossible to mock final classes and static methods, and all classes are final by default in Kotlin. Currently, this is solved through mockito-inline but, before, it was a serious limitation. In respect to Java development, there was and is an alternative for Android developers, PowerMock.
-
Why don't you write unit tests and integration tests to ksp project
In the demo project, I used junit and mockito. One thing we need to pre-learn do the unit test, that is ksp class diagram.
-
Spring with java vs Spring with kotlin
What's wrong with Mockito for Kotlin?
-
From Java to Kotlin. There and back again
Mockito does not work correctly with Kotlin types out of the box. Spring recommends using Mockk. There is also a special module for Mockito, which adds support for Kotlin - Mockito-Kotlin.
- Avoiding Stringly-typed in Kotlin
- Argument(s) are different! Wanted: Unit test
turbine
-
Best practices for Unit Testing Android Apps with Mockk, Kotest and others
Much of this is now available in Mockito. Even more - naturally Kotlin doesn’t have static methods, and it’s a good practice not to create them. Ideal code is code that follows the SOLID and Clean Architecture principles, which means it can be easily mocked and tested. Therefore, we, Android developers, don’t need PowerMock’s special features but it’s important to remember that such frameworks exist. Another Mockito’s limitation concerns work with coroutines and flows. In such cases, once again, mockito-kotlin as well as third-party libraries like turbine will help you out. This being said, I’d like to tell you about another alternative to Mockito, which is Mockk.
-
As an Android dev - which of these topics do you feel like you’re struggling the most with? What skills would you like to improve?
All you need: https://github.com/cashapp/turbine
-
Testing Kotlin Flows on Coroutines 1.6
You've essentially converged on what Turbine does.
- I'm getting an error that 'child jobs have not finished yet' while executing this test case. But i'm making sure that my child coroutine finishes before asserting the result. Any ideas?
-
Updating my tech stack: RxJava vs Flow
Turbine is an excellent library for testing flows and is pretty much required imo. But overall Rx is much easier to test; debugging works much more consistently and the built in testing functions are great.
-
JVM Testing Newsletter | July 2021
turbine release 0.6.0
-
Testing StateFlow
This issue on how StateFlows should be tested is probably also worth reading: https://github.com/cashapp/turbine/issues/19
-
From RxJava to Kotlin Flow: Testing
Use https://github.com/cashapp/turbine
What are some alternatives?
mockk - mocking library for Kotlin
Reaktive - Kotlin multi-platform implementation of Reactive Extensions
Kotest - Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing
kotlin-faker - Port of a popular ruby faker gem written in kotlin. Generate realistically looking fake data such as names, addresses, banking details, and many more, that can be used for testing and data anonymization purposes.
kotlinx.coroutines - Library support for Kotlin coroutines
balin - Balin is an automation library for Kotlin. It's basically a Selenium-WebDriver wrapper inspired by Geb.
spek - A specification framework for Kotlin
junit-pioneer - JUnit 5 Extension Pack
mock-fuel - JUnit 5 extension to easily test with the http client Fuel for Kotlin
compose-multiplatform - Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.