4

I have the following ScalaCheck unit test using Mockito:

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")
  }

}

In my build.sbt I have the following dependencies:

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"

For it, I am getting this error:

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") {

Any idea what could be wrong?

bsky
  • 19,326
  • 49
  • 155
  • 270

1 Answers1

1

Adding scalacheck did the trick for me

lazy val scalaTest = "org.scalatest" %% "scalatest" % "3.0.+"
lazy val scalaCheck = "org.scalacheck" %% "scalacheck" % "1.13.+"
AlexeyKarasev
  • 490
  • 3
  • 13