sbt 上的 ScalaTest 没有 运行 任何测试
ScalaTest on sbt not running any tests
我正在尝试 运行 我的测试:
sbt 然后测试。
我的build.sbt看起来像这样
lazy val scalatest = "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
lazy val root = (project in file(".")).
settings(
name := "highlight2pdf",
version := "0.1",
scalaVersion := "2.11.6",
libraryDependencies += scalatest
)
我只是将示例测试放在 test/scala
import collection.mutable.Stack
import org.scalatest._
class ExampleSpec extends FlatSpec with Matchers {
"A Stack" should "pop values in last-in-first-out order" in {
val stack = new Stack[Int]
stack.push(1)
stack.push(2)
stack.pop() should be (2)
stack.pop() should be (1)
}
it should "throw NoSuchElementException if an empty stack is popped" in {
val emptyStack = new Stack[Int]
a [NoSuchElementException] should be thrownBy {
emptyStack.pop()
}
}
}
仍然总是显示:
[信息] 没有执行任何测试。
关于它为什么不起作用的任何想法?
默认情况下,目录结构不是 sbt
查找 ExampleSpec.scala
的正确约定。
├── built.sbt
├── src
│ └── test
│ └── scala
│ ├── ExampleSpec.scala
将其更改为上面的结构并在顶级目录中 运行 sbt test
,它应该可以工作。同样,scala 源代码将进入 src/main/scala
并进行编译。
> test
[info] Compiling 1 Scala source to /tmp/TestsWontRun/target/scala-2.11/test-classes...
[info] ExampleSpec:
[info] A Stack
[info] - should pop values in last-in-first-out order
[info] - should throw NoSuchElementException if an empty stack is popped
[info] Run completed in 289 milliseconds.
[info] Total number of tests run: 2
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[success] Total time: 7 s, completed Apr 30, 2015 8:54:30 AM
我正在尝试 运行 我的测试: sbt 然后测试。
我的build.sbt看起来像这样
lazy val scalatest = "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
lazy val root = (project in file(".")).
settings(
name := "highlight2pdf",
version := "0.1",
scalaVersion := "2.11.6",
libraryDependencies += scalatest
)
我只是将示例测试放在 test/scala
import collection.mutable.Stack
import org.scalatest._
class ExampleSpec extends FlatSpec with Matchers {
"A Stack" should "pop values in last-in-first-out order" in {
val stack = new Stack[Int]
stack.push(1)
stack.push(2)
stack.pop() should be (2)
stack.pop() should be (1)
}
it should "throw NoSuchElementException if an empty stack is popped" in {
val emptyStack = new Stack[Int]
a [NoSuchElementException] should be thrownBy {
emptyStack.pop()
}
}
}
仍然总是显示:
[信息] 没有执行任何测试。
关于它为什么不起作用的任何想法?
默认情况下,目录结构不是 sbt
查找 ExampleSpec.scala
的正确约定。
├── built.sbt
├── src
│ └── test
│ └── scala
│ ├── ExampleSpec.scala
将其更改为上面的结构并在顶级目录中 运行 sbt test
,它应该可以工作。同样,scala 源代码将进入 src/main/scala
并进行编译。
> test
[info] Compiling 1 Scala source to /tmp/TestsWontRun/target/scala-2.11/test-classes...
[info] ExampleSpec:
[info] A Stack
[info] - should pop values in last-in-first-out order
[info] - should throw NoSuchElementException if an empty stack is popped
[info] Run completed in 289 milliseconds.
[info] Total number of tests run: 2
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[success] Total time: 7 s, completed Apr 30, 2015 8:54:30 AM