0

我正在尝试使用 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 := falsehttps://github.com/pfn/android-sdk-plugin/issues/45并且我还从中删除了我的目录映射build.sbtbuild.sbt

我理解为什么我需要 debugIncludesTests 变量,但我不知道为什么tests文件夹可以工作 - 它不遵循约定,为什么其他文件夹不工作?

4

1 回答 1

1

惯例是将测试放入src/test/scala. 你只要把它们放进去test/src

于 2014-11-11T20:26:56.620 回答