junit testing with gradle for an android project junit testing with gradle for an android project android android

junit testing with gradle for an android project


You don't need the Java plugin, since the Android will take care of what you need mostly, from what I've seen so far.

I managed to get my Robolectric and junit tests running via this man's blog: http://tryge.com/2013/02/28/android-gradle-build/

My build.gradle file looks like this (where my test files are in the {projectdir}/test directory.

...// Unit testssourceSets {        unitTest {                java.srcDir file('test')                resources.srcDir file('test/resources')        }}dependencies {        unitTestCompile files("$project.buildDir/classes/debug")        unitTestCompile 'junit:junit:4.11'        unitTestCompile 'org.robolectric:robolectric:2.1.1'        unitTestCompile 'com.google.android:android:4.0.1.2'}configurations {        unitTestCompile.extendsFrom runtime        unitTestRuntime.extendsFrom unitTestCompile}task unitTest(type:Test, dependsOn: assemble) {        description = "run unit tests"        testClassesDir = project.sourceSets.unitTest.output.classesDir        classpath = project.sourceSets.unitTest.runtimeClasspath}build.dependsOn unitTest


AndroidStudio and the new Android Gradle plugin are now offering official unit test support.

This is supported from Android Studio 1.1+ and Android Gradle plugin version 1.1.0+

Dependencies can now be declared as testCompile:

dependencies {  testCompile 'junit:junit:4.12'  testCompile "org.mockito:mockito-core:1.9.5"}

More details here: Unit testing support - Android Tools Project Site.


This guide might help -http://www.slideshare.net/tobiaspreuss/how-to-setup-unit-testing-in-android-studio

Latest gradle the test should be under androidTest dir

Also in your gradle.build:

dependencies {     androidTestCompile 'junit:junit:4.+'}

also add those under defaultConfig {

testPackageName "test.java.foo"testInstrumentationRunner "android.test.InstrumentationTestRunner"

}