1

I've started writing the unit tests for my application. I'm using Mockito to mock the objects.

This is the link I followed to include the mockito dependency in my app level gradle file. The problem is I'm unable to import mockito into my test class.

Here's my app build.gradle file for the reference.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }
    lintOptions {
        disable 'HardcodedText','TextFields','OnClick'
    }
}

repositories {
    jcenter()
    mavenCentral()
    maven() {
        name 'SonaType snapshot repository'
        url 'https://oss.sonatype.org/content/repositories/snapshots'
    }
}

ext {
    robobindingVersion = 'latest.integration'
    //robobindingVersion = '0.8.6-SNAPSHOT'
}

dependencies {
    testCompile "org.mockito:mockito-core:1.+"
    compile("org.robobinding:robobinding:$robobindingVersion:with-dependencies") {
        exclude group: 'com.google.guava', module: 'guava'
    }
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    testCompile('org.robolectric:robolectric:3.0-rc2') {
        exclude group: 'commons-logging', module: 'commons-logging'
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }
    apt "org.robobinding:codegen:$robobindingVersion"
    compile 'junit:junit:4.12'
}

unable to import mockito

Akeshwar Jha
  • 4,358
  • 7
  • 47
  • 87

4 Answers4

2

Try changing

compile "org.mockito:mockito-core:1.+" or implementation "org.mockito:mockito-core:1.+"

to

androidTestImplementation "org.mockito:mockito-core:1.+"

Cameron A
  • 119
  • 1
  • 8
1

I had the same problem and solve it just by using:

compile "org.mockito:mockito-core:1.+"

Hope it helps =]

  • Although this might have worked in your case, and might even work in this case - you really need to add some explanation as to why this should work - or what causes the problem to which this is a solution. – ishmaelMakitla Feb 05 '17 at 20:38
  • This will actually add Mockito to the main build variant of your app. The mockito library will not be used only in tests but is also included in the file that is delivered to your users. Better is to use testImplementation or androidTestImplementation – Janusz Oct 11 '19 at 10:17
-1

Manually importing the mockito jar file did the thing for me. To do that, first create a directory called "libs" in your app directory. Take note that this directory should be in the same level as that of the src/main and build directories. Next, download the mockito jar file and paste it into the libs directory.

Include that into your dependencies in the app level build.gradle file:

dependencies {
    compile files('libs/add-your-jar-file-name-here')
}

Sync the gradle and that should do the job.

Refer to this answer for more detailed answer with snapshots.

Community
  • 1
  • 1
Akeshwar Jha
  • 4,358
  • 7
  • 47
  • 87
-1

Check this link .... this may useful
https://stackoverflow.com/a/34148132/5185201

// add dexOptions

dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}

// Enabling multidex support.

multiDexEnabled true
Community
  • 1
  • 1
Anvesh523
  • 368
  • 6
  • 18