我在specs2中写了一些非常基本的测试。
import org.scalatest._
import org.specs2.mutable._
class MySpec extends Specification {
"Arithmetic" should {
"add" in {
"two numbers " in {
1 + 1 mustEqual (2)
}
"three numbers" in {
1 + 1 + 1 mustEqual (3)
}
"compare numbers" in {
2 must be lessThanOrEqualTo(1)
}
}
}
}
当我运行它们时,似乎它们按预期运行,如下所示
您可以看到2个测试成功,1个测试失败。好。
但是我不明白为什么Specs2用黄色说“没有执行测试”。 发生了什么事?
答案 0 :(得分:4)
运行了两个测试,一个MySpec
,另一个ScalaTest
。 ScalaTest
是No tests were executed
。
输出有三个部分:1。MySpec
的结果,ScalaTest
的结果,以及所有(摘要)的结果。
答案 1 :(得分:1)
tl; dr 在构建中删除libraryDependencies
中的一个测试依赖项,并修复MySpec
中的导入。
消息的原因是项目中的libraryDependencies
使用了specs2和ScalaTest库,它们可能如下所示:
libraryDependencies += "org.specs2" %% "specs2-core" % "3.6.2" % "test"
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.5" % "test"
否则,导入MySpec
和org.scalatest._
导致import org.specs2.mutable._
规范出现编译错误:
import org.scalatest._
import org.specs2.mutable._