为什么测试报告“[info]没有执行任何测试”的ScalaTest具有specs2中的单个规范?

时间:2015-07-04 05:22:51

标签: scala specs2 typesafe-activator

我在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)
            }
        }
    }
}

当我运行它们时,似乎它们按预期运行,如下所示

enter image description here

您可以看到2个测试成功,1个测试失败。好。

但是我不明白为什么Specs2用黄色说“没有执行测试”。 发生了什么事?

2 个答案:

答案 0 :(得分:4)

运行了两个测试,一个MySpec,另一个ScalaTestScalaTestNo 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"

否则,导入MySpecorg.scalatest._导致import org.specs2.mutable._规范出现编译错误:

import org.scalatest._
import org.specs2.mutable._