2011-11-26 13 views
10

Uygulamam için, Scala'da yazılmış ve Robotium kütüphanesini kullanan küçük bir Android test paketi geliştirdim. Suite tüm amaçlara yöneliktir ve standart bir Android JUnit test projesidir ve Eclipse'den başlatılırsa başarılı bir şekilde çalışır.Android testlerini sbt ile nasıl çalıştırabilirim?

Başlıca Android uygulamamı sbt android-plugin ile başarıyla oluşturdum ve çalıştırdım. Ana uygulama [ProjectDir]/src/main'da bulunur. [ProjectDir]/tests/src/main dizininde de başarıyla build my Android test application başardı. Emülatörü kontrol ettim ve test uygulamasının android-plugin'in tests/android:install-emulator komutuyla doğru şekilde yüklenmiş olduğu görülüyor. Ben sbt tests/android:test-emulator aracılığıyla test projesi çalıştırmayı denediğinizde Ancak, alıyorum: Ben sbt android-eklentisi onları proje JUnit testleri içerdiğini tanımak ve çalıştırmak için nasıl alabilirim

... 
Test results for InstrumentationTestRunner= 
Time: 0.001 

OK (0 tests) 

?

cevap

1

Burada kullanılan adlandırma kuralı, normal JUnit ile aynıdır ve xxxTest.class sınamalarını adlandırmanız gerekir. Ayrıca TestCase (AndroidTestCase, InstrumentationTestCase vb ...) genişletmek gerekir. O kadar adlandırma kuralı geçerli olmayabilir komutuna sınıflar adını ekler

adb shell am instrument -w -e class com.android.foo.FooTest,com.android.foo.TooTest com.android.foo/android.test.InstrumentationTestRunner 

: yinelemek için

, tutulma gibi görünecek bir komut çalışacaktır.

Eğer sbt kaçarsa çalıştırmak olacak someClassNameTest ile bitirir uygulama com.android.foo paket adı altında tüm sınıfları bulacaksınız

adb shell am instrument -w com.android.foo/android.test.InstrumentationTestRunner 

.

+0

Peki, bunun sizin için çalıştığını mı söylüyorsunuz? Bunlar, Eclipse'in Junit Android test koşucusu içerisinde değişmeden yapılan testlerdir. Bir sınıf adlandırma kuralından habersizim, ancak bir isimlendirme isimlendirme yönteminin farkındayım - yöntem isimlerinin "test" sözcüğünden önce gelmesi gerekiyor. Testlerim, 'ActivityInstrumentationTestCase2' öğesini genişleten özel bir test 'TestFixture 'geliştirdi. –

+0

FixtureTest'i denediniz mi? – charroch

İlgili konular