Introduction
The Android project utilizes https://junit.org/junit5/ for performing unit testing and test automation. JUnit5 was chosen for its functionality and its clarity.
Requirements
Android Studio
openjdk 11.0.11 2021-04-20 or newer
Related Jira Issues
- FNSDKEXT-93Getting issue details... STATUS
- FNSDKEXT-122Getting issue details... STATUS
Usage
tl;dr https://www.lordcodes.com/articles/testing-on-android-using-junit-5
Existing Project
Basic usage of the existing testing project requires no special setup, as it was created as a JUnit5 test project in the first place; review the JUnit5 documentation for detail-in-depth.
Creating a New Project
If a new testing project needs to be created, here is a quick-and-dirty rundown:
Add the following block of code to the project
build.gradle
file, before theplugins { ... }
blockbuildscript { dependencies { classpath("de.mannodermaus.gradle.plugins:android-junit5:1.8.2.0") } }
Change
1.8.2.0
(plugin version number) as necessary.
Add the following line of code to the project
build.gradle
file, between theandroid { ... }
anddependencies { ... }
blocks:apply plugin: 'de.mannodermaus.android-junit5'
Add the following block of code to the project
build.gradle
file, in the existingdependencies { ... }
block (not the one in thebuildscript
scope, but the one that is its own scope, following theapply plugin
line):dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.2" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.3.2" testImplementation "org.junit.jupiter:junit-jupiter-params:5.3.2" // other dependencies... }