3

我正在尝试根据 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 提供更好的运行环境......任何帮助都会非常感激

4

2 回答 2

4

删除此导入以使其工作:

import scala.Predef.String

的所有成员Predef都由编译器自动为您导入,除非您像这样手动导入一个选择性的。classOf是成员Predef并以这种方式隐藏。

于 2013-04-30T14:05:33.560 回答
3

将以下依赖项添加到您的 pom.xml 文件中。

    <dependency>
        <groupId>org.specs2</groupId>
        <artifactId>specs2-junit_2.11</artifactId>
        <version>3.8.9</version>
        <scope>test</scope>
    </dependency>
于 2017-05-15T08:31:54.507 回答