TestObserver
to easily test LiveData
and make assertions on them, inspired by RxJava. Allows effective testing of your ViewModel
and makes TDD possible.
This library provides a JUnit TestRule that plants a temporary Timber tree that pipes any logs sent via Timber to the standard System.out. Once a unit test has completed, the Timber tree is removed to avoid logging unintended test cases.
The rule is extremely useful for Android JUnit tests, as the Timber logs do not show without planting a tree.
There are many ways to modify the output using the following behaviours:
JsonUnit is a library that simplifies JSON comparison in unit tests.
Kheera is a BDD Framework, especially design for Android application development workflows. It's designed to be fast, small and completely compatible with Android Test Kit, Espresso 3, UIAutomator etc.
JFixture is an open source library based on the popular .NET library, AutoFixture.
JFixture is a Java library to assist in the writing of Unit Tests, particularly when following Test Driven Development. It generates types based on the concept of 'constrained non-determinism', which is an implementation of the Generated Value xUnit test pattern.
Espresso is a great tool to test our Android apps via instrumental tests. With them, we can mimic user actions like clicking a button, scrolling a list, selecting an item on a spinner or swiping on a pager. Then, we can assert that a text appears in the screen, an image is visible or invisible, or a button is enabled or not.
On the other hand, if you tried Espresso, you’ll agree that its API is not discoverable.
Barista introduces a discoverable API for the Espresso features. So, you and all the Android team will write instrumental tests with no effort.
EqualsVerifier can be used in Java unit tests to verify whether the contract for the equals and hashCode methods in a class is met.
A JUnit rule which allows unit testing of custom Lint rules.
Running instrumentation tests on Android using Espresso requires disabling animations. DeviceAnimationTestRule is a JUnit rule which disables device animations prior to running any test, and enable them after every test has been executed.
Kluent is a "Fluent Assertions" library written specifically for Kotlin.
JGiven is a developer-friendly and pragmatic BDD tool for Java. Developers write scenarios in plain Java using a fluent, domain-specific API, JGiven generates reports that are readable by domain experts.
Simple JUnit rule for overriding RxJava/RxAndroid schedulers during unit tests.
KotlinTest is a flexible and comprehensive testing tool for the Kotlin ecosystem based on and heavily inspired by the superb Scalatest. KotlinTest provides several ways to lay out your test so that your team can pick the style they are most happy with. It also includes many matchers which allow you to write many different types of assertions easily and in a human readable way. Finally, there's helpers for things like collection testing, and future testing.
Simple test to see if all models in project correctly implement Parcelable
.
Save time & clear your unit tests on Android!
Use annotations to inject Context
, Activities
, Fragments
and Views
into your tests.
Simple assert to verify that your object has implementation of Parcelable Android interface.
Frutilla lets java software development teams describe the tests in plain text, and link them to the specifications.
JConditions is an extension for JUnit framework, which allows to mark test methods with specific conditional annotations. It helps to keep clean your test methods and prevents a lot of unnecessary code.
AssertJ assertions for RxJava Observables.
This library extends AssertJ core with the aim of providing elegant assertions to test RxJava Observables. The current version of this library only provides assertions aimed at testing "cold" Observables. You will need to transform your Observable into a BlockingObservable
before performing any assertion.
Calculon is a testing DSL
for Google Android. It allows you to write activity tests and user story tests.
SimpleAB is a framework to help you A/B test your Android applications with no hassle. A/B testing should be as simple as it needs to, and if you're not interested in handling huge SDKs and understanding complex dashboards and documentation articles, SimpleAB is the tool you was looking for.
Truth is a testing framework designed to make your tests and their error messages more readable and discoverable, while being extensible to new types of objects.
Truth adopts a fluent style for test propositions, is extensible in several ways, supports IDE completion/discovery of available propositions, and supports different responses to un-true propositions. Truth can be used to declare JUnit-style assumptions (which skip the test on failure), assertions (interrupt the test on failure), and expectations (continue the test, but collect errors and report failure at the end).
android-spock allows to run Spock on Android.
Gwen is a simple library that allows writing acceptance tests in a Given-When-Then syntax.
assertj-android is a set of AssertJ assertions geared toward testing Android.
Writing tests is not the most glamorous part of developing an Android application but it is an invaluable one. Using libraries like JUnit and AssertJ provide a great starting point for writing tests.
This library is an extension of AssertJ which aims to make it even easier to test Android.
TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use.
Spock is a testing and specification framework for Java and Groovy applications. What makes it stand out from the crowd is its beautiful and highly expressive specification language. Thanks to its JUnit runner, Spock is compatible with most IDEs, build tools, and continuous integration servers.