Projemi çok platformlu olarak değiştirdim.Not: Bir modül bağımlılığından nasıl test yapılır?
Önceki durum: Tek build.gradle tek bir modül (proje). Tüm testler test klasöründeydi ve gradlew testDebug
'u çalıştırdığımda tüm 500 testlerim çalışıyordu.
Yeni durum: Ben 3 modüller
- çekirdek
- androidversion
- rasberryPiVersion
Bunların her biri tutma ama hiçbir şey yapmaz bir ana gradle projesi var modüllerin kendi not defteri var ama sadece android ve rasberryPi modülü inşa edilebilir. Bağımlılıklarında (ilgili build.gradle dosyasında), "çekirdek" modülüne derlerler. Bunun gibi:
dependencies {
compile project(':clapcore')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android:android:4.1.1.4'
}
Tüm 500 testlerim artık merkezde. Yani Android modülünde gradlew clean assembleDebug testDebug
yaptığımda hiçbir test tespit edilmedi ve test sonucu klasörü boş.
testDebug
komutu çalıştırmak için çalıştı, ama kendi başına inşa olmadığından, ben hata alırsınız:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'testDebug' not found in project ':core'.
Yani benim soru: bir yolu içinde var mı "testDebug" komutunu, modül bağımlılığında (çekirdek) bulunan tüm testleri çalıştırmak için söylemek ister misiniz?
Ben de android modülünün bağımlılığı bir testCompile eklemeye çalıştık ama böyle, doesnt iş:
dependencies {
compile project(':clapcore')
testCompile project(':clapcore')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android:android:4.1.1.4'
}
Teşekkür!
DÜZENLEME ben çekirdeğini komutu gradlew build
yapabilir ve 'çekirdek' modülünde testi olacağını bulduk. Ama bu testi, eğer mümkün ise "kaskat" ile çalıştırmak için bir yol istiyorum.
* Ben 'android' modülünde komutu gradlew buildNeeded
yapabilir ve android modülü ve çekirdek için bir yapı yapacak bulduk 2 * DÜZENLEME. Ne yazık ki, sadece sürümde inşa! Birisi bana bu işlevi kullanmak için bir yol gösterebilir ama hata ayıklama, şaşırtıcı olurdu. Hata ayıklamasına ihtiyacım var çünkü sürümün sürümü, sürüm değişikliği, git, itme, vb. Gibi bir çok görevi başlatıyor ... Bu sadece bir gece yapısı için, bu yüzden hata ayıklamasında olması gerekiyor.