ScalaTest我在加载Suite时遇到错误,Scala签名套件版本错误

时间:2016-02-04 02:14:02

标签: scala maven dependencies scalatest test-suite

我有一个依赖的maven项目:

shortdist(df1, df2,['a','b'],2)

并有一个类似的测试类套件:

<dependency>
    <groupId>org.scalatest</groupId>
    <artifactId>scalatest_2.11</artifactId>
    <version>2.2.5</version>
    <scope>test</scope>
</dependency>

我在编译期间遇到一个我不明白的错误:

import java.util.{LinkedHashMap => jLinkedHashMap, ArrayList => jArrayList, Arrays}
import org.scalatest._


class NeutralizeEITSuite extends FunSuite with Matchers {

    val nEIT = new NeutralizeEIT()

    test("Valid content category 'MiniSeries' is neutralized to 'TV Entertainment':") {
        val result = neutralizedEIT(content_category = "MiniSeries")
        val content_category = getStringValueFromEIT("content_category", result)
        content_category should equal ("TV Entertainment")
    }
}

我试过谷歌搜索错误但没有结果。我的pom.xml

中没有其他org.scalatest依赖项

FunSuite的4.1和5.0版本在哪里?

谢谢,

3 个答案:

答案 0 :(得分:1)

content_category变量与content_category命名参数之前可能存在冲突。

答案 1 :(得分:1)

通过更新我的pom中的scala规范依赖性来修复问题

来自

    <dependency>
        <groupId>org.specs</groupId>
        <artifactId>specs</artifactId>
        <version>1.6.2.2_1.5.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.scala-tools.testing</groupId>
        <artifactId>specs</artifactId>
        <version>1.6.2.2_1.5.0</version>
    </dependency>

答案 2 :(得分:0)

我在 5 年后来到这里,所以对于通过 Google 来到这里的任何人......现在的答案是你的 pom.xml 中可能有一个旧版本的 org.specs(可能是因为你复制并粘贴了来自旧来源),以及新的 org.scalatest 库。

如果两者都有,修复方法是删除它:

<dependency>
  <groupId>org.specs</groupId>
  <artifactId>specs</artifactId>
  <version>[Some version]</version>
  <scope>test</scope>
</dependency>

只留下这个:

<dependency>
  <groupId>org.scalatest</groupId>
  <artifactId>scalatest_2.11</artifactId>
  <version>3.2.9</version>
  <scope>test</scope>
</dependency>

(其中 _2.11 替换为您使用的 Scala 版本,而 3.2.9 替换为您使用的 ScalaTest 版本。)