符号&#39;键入<none> .scalacheck.Shrink&#39;在类路径中丢失

时间:2017-05-01 09:48:36

标签: scala mockito scalacheck

我使用Mockito进行了以下ScalaCheck单元测试:

import org.scalatest.mockito.MockitoSugar
import org.mockito.Mockito.when
import org.scalatest.prop.PropertyChecks
import org.mockito.Mockito.verify

class PlayerTest extends org.scalatest.FunSuite with MockitoSugar with PropertyChecks {

  test("doesn't accept anything but M") {
    val mockIOHandler = mock[IOHandler]
    val name = "me"
    val player = new Player(name)

    when(mockIOHandler.nextLine).thenReturn("m")

    val apiUser = new Player("player1")
    apiUser.chooseHand(mockIOHandler)
    verify(mockIOHandler).write("some value")
  }

}

在我的build.sbt中,我有以下依赖项:

scalaVersion := "2.12.2"

libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.1"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"

// https://mvnrepository.com/artifact/org.mockito/mockito-core
libraryDependencies += "org.mockito" % "mockito-core" % "1.8.5"

对于它,我收到了这个错误:

Error:(12, 41) Symbol 'type <none>.scalacheck.Shrink' is missing from the classpath.
This symbol is required by 'value org.scalatest.prop.GeneratorDrivenPropertyChecks.shrA'.
Make sure that type Shrink is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
A full rebuild may help if 'GeneratorDrivenPropertyChecks.class' was compiled against an incompatible version of <none>.scalacheck.
  test("doesn't accept anything but M") {

知道可能出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

添加scalacheck为我做了诀窍

lazy val scalaTest = "org.scalatest" %% "scalatest" % "3.0.+"
lazy val scalaCheck = "org.scalacheck" %% "scalacheck" % "1.13.+"