Courtesy: GitHub

AndroidJUnitRunner sample

The new android test runner brings Junit4 support to android testing. This samples gives a quick overview of some of the new features like test annotations, parameterized tests and test suite creation.

  1. CalculatorTest.java contains JUnit4 style unit tests for the calculator logic.
  2. CalculatorAddParameterizedTest.java contains JUnit4 style tests and uses the @Parameters annotation to parameterize a single test with different values.
  3. CalculatorInstrumentationTest.java uses JUnit4 style tests to test the Ui of the CalculatorActivity
  4. OperationHintInstrumentationTest.java uses JUnit3 style tests to test the Ui of the CalculatorActivity

This project uses the Gradle build system. You don't need an IDE to build and execute it but Android Studio is recommended.

  1. Download the project code, preferably using git clone.
  2. Open the Android SDK Manager (Tools Menu | Android) and make sure you have installed the Android Support Repository under Extras.
  3. In Android Studio, select File | Open... and point to the top-level ./build.gradle file.
  4. Check out the relevant code:
    • The application under test is located in src/main/java
    • Tests are in src/androidTest/java
  5. Create the test configuration with a custom runner: android.support.test.runner.AndroidJUnitRunner
    • Open Run menu | Edit Configurations
    • Add a new Android Tests configuration
    • Choose a module
    • Choose which tests to run. Click on Test: class and select one of the TestSuites (AndroidTestSuite, UnitTestSuite, InstrumentationTestSuite)
    • Add a Specific instrumentation runner: android.support.test.runner.AndroidJUnitRunner
  6. Connect a device or start an emulator
    • Turn animations off. (On your device, under Settings->Developer options disable the following 3 settings: "Window animation scale", "Transition animation scale" and "Animator duration scale")
  7. Run the newly created configuration

The application will be started on the device/emulator and a series of actions will be performed automatically.

If you are using Android Studio, the Run window will show the test results.

compileSdkVersion 26

applicationId "com.example.android.testing.androidjunitrunnersample"

minSdkVersion 9

targetSdkVersion 26

versionCode 1

versionName "1.0"

compile 'com.android.support:support-annotations:' + rootProject.supportLibVersion;

compile 'com.google.guava:guava:18.0'

package com.example.android.testing.androidjunitrunnersample

CalculatorActivity

{@link android.app.Activity} which contains a simple calculator. Numbers can be entered in the two {@link EditText} fields and result can be obtained by pressing one of the operation {@link Button}s at the bottom.

OnClick method that is called when the add {@link Button} is pressed.

OnClick method that is called when the substract {@link Button} is pressed.

OnClick method that is called when the divide {@link Button} is pressed.

OnClick method that is called when the multiply {@link Button} is pressed.

@return the operand value which was entered in an {@link EditText} as a double

@return the operand text which was entered in an {@link EditText}.