2014-12-18 12 views
17

Android stüdyosunu grapt wrapper sürüm 2.2.1 ile kullanarak, tüm testleri tek bir sınama sınıfında ve ayrıca belirli bir sınamada çalıştırmaya çalışıyorum bu sınıfın içinde ve kullanma denedim: dokümantasyon anlaşılacağı gibiDereceli sarmalayıcı kullanarak tek bir birim testi nasıl çalıştırılır Komut satırından 2.2.1 kullanılarak

./gradlew test --tests DownloadsActivityTest 

yanı sıra

-DandroidTest.single=DownloadsActivityTest 

Fakat bu sürümler hiçbiri çalışır.

Tek bir sınama sınıfı ve gradyan sarmalayıcıyı kullanarak komut satırından tek bir testi nasıl çalıştırırım?

./gradlew --version 

------------------------------------------------------------ 
Gradle 2.2.1 
------------------------------------------------------------ 

Build time: 2014-11-24 09:45:35 UTC 
Build number: none 
Revision:  6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a 

Groovy:  2.3.6 
Ant:   Apache Ant(TM) version 1.9.3 compiled on December 23 2013 
JVM:   1.7.0_51 (Oracle Corporation 24.51-b03) 
OS:   Linux 3.17.6-200.fc20.x86_64 amd64 

[16:33][[email protected]:~/myHomeDir]$ ./gradlew test --tests DownloadsActivityTest 
WARNING: Dependency commons-logging:commons-logging:1.1.1 is ignored for debugTest as it may be conflicting with the internal version provided by Android. 
    In case of problem, please repackage it with jarjar to change the class packages 
WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.3 is ignored for debugTest as it may be conflicting with the internal version provided by Android. 
    In case of problem, please repackage it with jarjar to change the class packages 

FAILURE: Build failed with an exception. 

* What went wrong: 
Problem configuring task :app:test from command line. 
> Unknown command-line option '--tests'. 

* Try: 
Run gradlew help --task :app:test to get task usage details. Run with --stacktrace  option to get the stack trace. Run with --info or --debug                                 option to get more log output. 

BUILD FAILED 

Total time: 4.466 secs 

cevap

1

Android Gradle eklentisi, 1.0.0 sürümünden itibaren, tek Android testlerini çalıştırmak için desteğe sahip değildir. Bunun için özellik isteği https://code.google.com/p/android/issues/detail?id=74196'da dosyalanır.

Genel olarak daha iyi test desteğinin, 1.0 sonrası öncelik listesinde çok yüksek olduğunu biliyorum, ancak bunun uygulanacağı zaman herhangi bir kesinlik ile söyleyemem.

2

Bu Android Gradle eklentisi v1.1.0 kullanılarak Android Studio 1.1'de desteklenir.

kılavuzu takip edin here

+0

tek bir test sınıfı çalıştırmaya çalışıyor. android studio gradle eklentisi bu sorunu desteklemiyor hangi sorun – ZakTaccardi

9
./gradlew :<module name>:test<CapitalCasedBuildVariant> --tests "<Test name pattern>" 

gradle bağımlı modülleri oluşturduğunda Test hayatlarını, aksi halde, bu onları test dener nerede modül adı belirtmek için önemlidir ve hiçbiri çünkü başarısız olabilir testin tam olarak nitelenmiş-name (FQN) belirtmedikçe

Ayrıca
No tests found for given includes: [FooTest] 

, test adı deseni bir * ile başlamalıdır: testler test modeline uyuyor. Benim durumumda

, bir modül app adında var ve bir varyant localDebug adında ve ben FooTest test etmek istedi, ben de koştum:

./gradlew :app:testLocalDebug --tests "*FooTest" 
+3

Bu cihaz testleri, enstrümantasyon testleri için çalışır. –

13

için sadece enstrümantasyon testleri (androidTests) çalıştırın belirli bir test sınıfında, yürütün: sadece yerel testi

./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.android.testing.blueprint.ui.espresso.EspressoTest 

için Belirli bir test sınıfındaki veya paketindeki s ("birim", JVM testleri), aşağıdakileri gerçekleştirir:

İlgili konular