繁体   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