2014-06-13 49 views
11

IntelliJ Idea içinde bazı Android JUnit testlerini çalıştırmaya çalışırken bir sorunum var.JUnit testlerini çalıştırırken IntelliJ IDEA (Android)

Benim projem Gradle kullanarak bir Android Library projesidir. Benim testleri çalıştırdığınızda, IntelliJ aşağıdaki hata ile yakınır:

Class not found: "com.domain.app.ClassTest" 

Ama ClassTest testi paket içerisinde mevcuttur.

apply plugin: 'android-library' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.10.+' 
    } 
} 

dependencies { 
    repositories { 
     mavenCentral() 
     maven { 
      url 'https://oss.sonatype.org/content/repositories/snapshots/' 
     } 
    } 

    compile 'com.android.support:support-v4:19.1.+' 

    compile('junit:junit:4.11') { 
     exclude module: 'hamcrest-core' 
    } 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "19.0.3" 

    defaultConfig { 
     versionName "1.0" 
     versionCode 1 

     targetSdkVersion 18 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src/main/java'] 
      res.srcDirs = ['res'] 
     } 

     androidTest { 
      java.srcDirs = ['src/test/java'] 
     } 
    } 

    lintOptions { 
     abortOnError false 
    } 
} 

Projem yapısı:

src 
|_ main 
    |_ java 
    |_ com.domain.app 
|_ test 
    |_ java 
     |_ com.domain.app 

Ben IntelliJ IDEA 13.1.1 kullanıyorum

İşte benim build.gradle bu.

Teşekkürler.

+0

Olası çoğaltılabilir [Intellij'te çalıştırma testleri: Sınıf bulunamadı] (http://stackoverflow.com/questions/22105264/running-tests-on-intellij-class-not-found) –

cevap

2

Git adlandırmak.

'Output path' değeri girilmeli, ancak 'Test output path' olmayacaktır. 'Output path' metnindeki metni kopyalayın, 'Test çıktısı yoluna' yapıştırın, ancak 'build/intermediates/classes/debug' ile 'build/test-classes' değerini değiştirin. Bunun nedeni, gradle android test eklentisinin şu anda tüm derlenmiş test çıktısını (tüm değişkenler için) aynı dizine akıtmasıdır. Bu, şu anda varyantların tam olarak desteklenmediği anlamına gelir.

Source.