An Android TDD bootstrap project, use a collection of new technology, obey best practices, inspired from some popular architectures, develop with many handy tools.
Save time & clear your unit tests on Android!
Use annotations to inject Context
, Activities
, Fragments
and Views
into your tests.
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.
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.
Simple assert to verify that your object has implementation of Parcelable Android interface.
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.
Calculon is a testing DSL
for Google Android. It allows you to write activity tests and user story tests.
Cucumber is a tool for running automated acceptance tests written in a behavior-driven development (BDD) style.
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.
EqualsVerifier can be used in Java unit tests to verify whether the contract for the equals and hashCode methods in a class is met.
Frutilla lets java software development teams describe the tests in plain text, and link them to the specifications.
Gwen is a simple library that allows writing acceptance tests in a Given-When-Then syntax.
JBehave is a framework for Behaviour-Driven Development (BDD). BDD is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike.
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.
JDave is a BDD framework for Java. It is inspired by rspec and integrates JMock 2 as mocking framework and Hamcrest as matching library. It uses JUnit adapter to launch JDave specifications. This way it is possible to have IDE, build tool and coverage tool support from day one.
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.
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.
JsonUnit is a library that simplifies JSON comparison in unit tests.
JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
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.
Kluent is a "Fluent Assertions" library written specifically for Kotlin.
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.
A JUnit rule which allows unit testing of custom Lint rules.
TestObserver
to easily test LiveData
and make assertions on them, inspired by RxJava. Allows effective testing of your ViewModel
and makes TDD possible.
Simple test to see if all models in project correctly implement Parcelable
.
RoboSpock combines two great test frameworks and lets you get the best of both - to run fast unit test written with Groovy on local JVM. It integrates well with Gradle build system and works with older Ant based projects.
Simple JUnit rule for overriding RxJava/RxAndroid schedulers during unit 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.