I've used sbt to create a project, co开发者_如何学Cnfigured it thusly:
val scalatest = "org.scala-tools.testing" % "scalatest" % "0.9.5" % "test"
I then pasted the example from ScalaTest into a file and ran "sbt test" to see if it was working. The file compiles, but the test is never executed.
As far as I can tell, this is as simple as it's meant to be. Am I missing something?
first off, I believe 1.0 is the correct version according to their website. My project/build/def.scala
looks like this:
import sbt._
class Tests(info: ProjectInfo) extends DefaultProject(info) {
val scalatest = "org.scalatest" % "scalatest" % "1.0" % "test"
}
Then do a sbt update
, then a sbt reload
(not sure the reload is necessary, but it doesn't hurt)
Now in /src/test/scala
, use their example but also import scala.collection.mutable.Stack
and sbt test
works fine for me
jcdavis@seam-carver:~/dev/test2$ sbt test
[info] Building project test 1.0 using Tests
[info] with sbt 0.5.6 and Scala 2.7.7
[info]
[info] == compile ==
[info] Source analysis: 0 new/modified, 0 indirectly invalidated, 0 removed.
[info] Compiling main sources...
[info] Nothing to compile.
[info] Post-analysis: 0 classes.
[info] == compile ==
[info]
[info] == copy-test-resources ==
[info] == copy-test-resources ==
[info]
[info] == copy-resources ==
[info] == copy-resources ==
[info]
[info] == test-compile ==
[info] Source analysis: 0 new/modified, 0 indirectly invalidated, 0 removed.
[info] Compiling test sources...
[info] Nothing to compile.
[info] Post-analysis: 4 classes.
[info] == test-compile ==
[info]
[info] == test-start ==
[info] == test-start ==
[info]
[info] == StackSpec ==
[info] A Stack
[info] Test Starting - A Stack should pop values in last-in-first-out order
[info] Test Succeeded - A Stack should pop values in last-in-first-out order
[info] Test Starting - A Stack should throw NoSuchElementException if an empty stack is popped
[info] Test Succeeded - A Stack should throw NoSuchElementException if an empty stack is popped
[info] == StackSpec ==
[info]
[info] == test-complete ==
[info] == test-complete ==
[info]
[info] == test-finish ==
[info] Run: 2, Passed: 2, Errors: 0, Failed: 0
[info]
[info] All tests PASSED.
[info] == test-finish ==
[info]
[info] == test-cleanup ==
[info] == test-cleanup ==
[info]
[info] == test ==
[info] == test ==
[success] Successful.
精彩评论