我正在尝试使用Scaloid和一些测试平台(我尝试过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上运行,只要IntelliJ Idea可以检查我写的语法。
终于做到了!我不知道它为什么会起作用,所以如果有人能向我解释,我会把它算作答案:
我所做的是创建文件夹tests
(最后是s),将其放在wlan-client
下。
然后我根据此帖子debugIncludesTests in Android := false
将build.sbt
放入build.sbt
,我还从tests
删除了我的目录映射
我理解为什么我需要debugIncludesTests变量,但我不知道为什么{{1}}文件夹有效 - 它不遵循惯例,为什么其他文件夹不起作用?
答案 0 :(得分:1)
惯例是将测试放在src/test/scala
中。你只需要test/src