【发布时间】:2014-11-11 13:36:36
【问题描述】:
我正在尝试一个简单的 HelloWorld 示例。这是我的目录结构:
hello
build.sbt
main
scala
Hello.scala
test
scala
HelloTest.scala
Hello.scala 包含一个sayHello 函数,我试图从HelloTest.scala 中的一个简单测试中调用该函数。这是我的 build.sbt:
name := "Hello"
organization := "tycon"
scalaVersion := "2.11.2"
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.1" % "test"
这是一个不运行任何测试的 sbt 运行:
$ sbt
[info] Set current project to scala (in build
file:~/git/scala/hello/main/scala/)
> compile
[info] Updating
{file:~/git/scala/hello/main/scala/}scala...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to
~/git/scala/hello/main/scala/target/scala-2.10/classes...
[success] Total time: 3 s, completed Sep 17, 2014 9:04:00 AM
> test
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] No tests to run for test:test
[success] Total time: 0 s, completed Sep 17, 2014 9:04:03 AM
我尝试了其他答案的建议:将%% 替换为%,并将scalatest_2.10 替换为libraryDependencies 中的scalatest,并将scalaVersion 更改为2.10.0。他们都没有工作。是的,每次build.sbt 改变时,我都是reloading。
我相信我遗漏了一些非常基本的东西。我将不胜感激任何帮助。我是 Scala 的新手。
编辑:为了完整起见,这里是两个 scala 文件:
Hello.scala:
trait Hello {
def sayHello () = {
println ("Hello, World!")
}
}
HelloTest:scala:
import org.scalatest.FunSuite
class HelloTest extends FunSuite with Hello {
test("say hello") {
sayHello()
}
}
Edit2:我按照 ajozwik 和 Gabriele 的建议更改了目录结构,但 sbt 仍然没有运行测试:
~/git/scala/hello/src/main/scala$ sbt
[info] Set current project to scala (in build
file:~/git/scala/hello/src/main/scala/)
> test
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] No tests to run for test:test
[success] Total time: 1 s, completed Sep 17, 2014 9:36:24 AM
【问题讨论】:
-
src/main/scalasrc/test/scala??