2015-06-29 34 views
8

Android stüdyo projemde birim testi için bir klasör ekledim. Varsayılan klasör andoidTest'dir, ancak bunun yerine yeni bir klasör ve ad ekledim. (like robolectric sample tests)Android studio'da birim testi için test klasörünü yapılandırın

Ben modül altında benim build.gradle test Bağımlılık eklediğinizde gibi

testCompile("junit:junit:${junitVersion}") 
testCompile ("org.robolectric:robolectric:${robolectricVersion}") 

Onlar proje kapsamında dış kütüphanelere ekledim, ancak varsayılan yapılandırması kullanan ve ne zaman androidTestCompile kullanmak alamadım, harici kütüphaneler ekleyebilir.

Sonra belki gradle içinde testler için setRoot gerektiğini düşündüm, bu yüzden build.gradle android etiketinde aşağıdaki kullandı:

sourceSets { 
     androidTest.setRoot('src/test') 
} 

Ama yine sorun kalmıştır. Testleri gradlew kullanarak çalıştırabilirim, ancak test klasöründeki sınıflarda içe aktarma, test amaçlı harici kütüphanenin yanı sıra geçerli değildir.

Bu sorunla ilgili herhangi bir çözümü olan var mı?

+0

Sen yapı içinde değişmelidir "Andrio testler" dan "birim testler" –

+0

Ve I'den araç penceresi testi eser değerini varyantları Bu sorunun zaten kopyalandığını düşünün :) –

+0

Çok teşekkürler @Eugen. İsterseniz cevabınızı paylaşabilirsiniz böylece kabul edebilirim. Ve bana daha önce nerede sorulduğunu söyle. – Ali

cevap

6

. Bu yüzden gelecek için yeni bir tane oluşturmaya karar verdim.

Yanıt Android Studio, şu anda birim testlerini otomatik olarak algılamıyor. 1.3 sürümü için planlandığını biliyorum.

Yani Build Variants aracı penceresinde Android Instrumental Tests den Unit Tests test eser değerini değiştirmek zorunda: enter image description here

7

Neredeyse ince sizin Gradle komut ama bunu deneyin: Ben arıyordum ve ben zaten bu örtülü düşünce cevabı bulamadık

sourceSets { 
    androidTest.setRoot('src/test') 
    androidTest { 
     java.srcDirs = ['src/test/java'] 
    } 
} 
+0

Aynı sorun. – Ali

+0

Herhangi bir ürününüz var mı? testApplicationId –

+0

No değerini ayarlamanız gerekiyorsa, hiçbir lezzet yoktur. – Ali