我正在尝试使用 Scalaid 和一些测试平台(我尝试过 ScalaTest 和 ScalaCheck)为 Android 构建一个项目,但是当我输入 sbt“test”或“testOnly *”时 - 它的行为就像我没有任何测试我的项目。更奇怪的是,如果我尝试在 StringSpecification.scala 中添加一些乱码 - 它仍然可以编译,提示我这个 scala 文件不包含在测试版本中。
这是我的 build.sbt 和我的测试: https ://gist.github.com/archeg/e5618c52f5661f494418
我的项目结构是下一个:
wlan-client/
| -- src/
| |-- scaloid.powerwlan/ #- my sources
|
| -- test/
| |-- src/
| | | -- StringSpecification.scala
| | | -- My other tests....
|
| -- build.sbt
我的源代码和测试放在非标准文件夹中,但我在 build.sbt 中反映了这一点
我刚刚开始使用 Scaloid 和 Sbt,所以这可能是我忘记或做错了一些简单的事情。
如果这很重要,我也尝试在 IntelliJ Idea 下运行它,但只要 IntelliJ Idea 可以检查我正在编写的语法,只在 sbt 控制台上运行就可以了。
终于做到了!我不知道它为什么会起作用,所以如果有人可以向我解释,我会将其视为答案:
我所做的是创建文件夹tests
(以 s 结尾),将其放在wlan-client
. 然后我根据这个线程输入:debugIncludesTests in Android := false
https://github.com/pfn/android-sdk-plugin/issues/45并且我还从中删除了我的目录映射build.sbt
build.sbt
我理解为什么我需要 debugIncludesTests 变量,但我不知道为什么tests
文件夹可以工作 - 它不遵循约定,为什么其他文件夹不工作?