我正在尝试按照ScalaTest网站使用annoatqaion运行我的测试:
import org.scalatest.FunSuite
import org.hamcrest.Matchers._
import org.hamcrest.MatcherAssert._
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import scala.Predef.String
@RunWith(classOf[JUnitRunner])
尝试构建时收到以下错误消息:
error: not found: object classOf
@RunWith(classOf[JUnitRunner])
error: annotation argument needs to be a constant; found: <error: <none>>[JUnitRunner]
@RunWith(classOf[JUnitRunner])
如果我删除注释,测试也会运行,但我认为注释的要点是允许JUnit更好地运行环境......任何帮助都会被大大调整
答案 0 :(得分:4)
删除此导入以使其正常工作:
import scala.Predef.String
编译器会自动为您导入Predef
的所有成员,除非您像这样手动导入选择性成员。 classOf
是Predef
的成员,并以此方式隐藏。
答案 1 :(得分:2)
将以下依赖项添加到pom.xml文件中。
<dependency>
<groupId>org.specs2</groupId>
<artifactId>specs2-junit_2.11</artifactId>
<version>3.8.9</version>
<scope>test</scope>
</dependency>