簡體   English   中英

如何使用sbt運行Android測試?

[英]How can I run Android tests with sbt?

我為我的應用程序開發了一小部分用Scala編寫的Android測試,它使用了Robotium庫。 該套件適用於所有目的和標准的Android JUnit測試項目,並且如果從Eclipse啟動,則可以成功運行。

我已經用sbt android-plugin成功構建並運行我的主要Android應用程序。 主應用程序位於[ProjectDir]/src/main 我還能夠成功構建位於[ProjectDir]/tests/src/main目錄中的Android測試應用程序 我檢查了模擬器,測試應用程序似乎已經正確安裝了android-plugin的tests/android:install-emulator命令。 但是,當我嘗試通過sbt tests/android:test-emulator運行測試項目時,我得到:

...
Test results for InstrumentationTestRunner=
Time: 0.001

OK (0 tests)

我怎樣才能讓sbt android-plugin認識到該項目包含JUnit測試並運行它們?

這里使用的命名約定與普通的JUnit相同,因此您需要將測試命名為xxxTest.class。 他們還需要擴展TestCase(AndroidTestCase,InstrumentationTestCase等...)。

重申一下,eclipse將運行一個如下命令:

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

它會將類名附加到命令中,因此命名約定可能不適用。

如果你從sbt運行,它將運行

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

它將找到應用程序com.android.foo的包名下的所有類,它們以someClassNameTest結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM