使用 ScalaTest 和 SBT android-sdk-plugin
Posted
技术标签:
【中文标题】使用 ScalaTest 和 SBT android-sdk-plugin【英文标题】:Using ScalaTest with SBT android-sdk-plugin 【发布时间】:2014-05-02 19:38:01 【问题描述】:我正在尝试将 SBT 与 android-sdk-plugin 和 ScalaTest 一起使用,但没有成功。
我可以在 SBT 控制台中运行 test
命令,但它在我的 src/test/scala
文件夹中没有找到任何 ScalaTest 测试套件。
我从 SBT 得到以下输出,它似乎根本没有运行任何 ScalaTest 测试套件。
[info] Compiling 2 Scala sources and 3 Java sources to /home/brianhsu/AndroidProject/FindLost/target/android-bin/classes...
[info] Packaging /home/brianhsu/AndroidProject/FindLost/target/android-bin/classes.jar ...
[info] Done packaging.
[info] Packaging /home/brianhsu/AndroidProject/FindLost/target/scala-2.10/findlost_2.10-0.1-SNAPSHOT-tests.jar ...
[info] Done packaging.
[info] Run completed in 44 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 0
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] No tests were executed.
[info] No tests to run for test:test
以下是我创建项目的方式:
使用android create project -g
创建一个带有gradle布局的Android项目。
将addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.2.11")
添加到project/plugins.sbt
以将android-sdk-plugin 包含到我的项目中。
将 ScalaTest 添加到我在 build.sbt 中的 libraryDependencies
设置中,这使得构建文件如下所示:
import android.Keys._
android.Plugin.androidBuild
name := "FindLost"
scalaVersion := "2.10.4"
organization := "org.bone.findlost"
libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.1.0" % "test"
platformTarget in Android := "android-19"
run <<= run in Android
install <<= install in Android
向src/test/scala
添加一个ScalaTest 测试用例,其中包含来自ScalaTest 的QuickStart 页面的示例测试套件。
【问题讨论】:
【参考方案1】:将您的测试放在src/androidTest/scala
android-sdk-plugin 使用 androidTest
进行 Android 仪器测试和常规测试。
有关此主题的讨论,请参阅 Ordinary scalatests not found from src/test #45。请注意,自那次讨论以来,插件更改的目录已更改为我列出的路径。
【讨论】:
为什么它没有记录在任何地方,但在这里,您应该在使用 android-sdk-plugin 时将测试放在 androidTest 文件夹下!?以上是关于使用 ScalaTest 和 SBT android-sdk-plugin的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 scalatest 运行 sbt 测试?我有一个错误:对象 scalatest 不是包 org 的成员
如何使用 SBT Jenkins 插件运行特定测试以进行 ScalaTest 测试
使用 ScalaTest 时从 SBT 中排除特别标记的测试