Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot Find GeneratorDrivenPropertyChecks Trait

I have these test dependencies defined

/ Test Dependencies
lazy val wiremock             = "com.github.tomakehurst"      % "wiremock-jre8"             % "2.25.1"
lazy val playTest             = "com.typesafe.play"          %% "play-test"                 % "2.8.1"
lazy val scalaTestPlusPlay    = "org.scalatestplus.play"     %% "scalatestplus-play"        % "5.1.0"
lazy val mockito              = "org.mockito"                %% "mockito-scala"             % "1.10.2"
lazy val scalamock            = "org.scalamock"              %% "scalamock"                 % "4.4.0"
lazy val scalacheck_shapeless = "com.github.alexarchambault" %% "scalacheck-shapeless_1.14" % "1.2.3"
lazy val scalatest            = "org.scalatest"              %% "scalatest"                 % "3.1.1"

But I cannot find this trait to mix into my test spec class: GeneratorDrivenPropertyChecks. I am not sure what I am missing here in terms of dependencies. Under org.scalatest.prop I don't see this trait. I only see TableDrivenPropertyChecks.

like image 905
Mojo Avatar asked May 12 '20 22:05

Mojo


1 Answers

GeneratorDrivenPropertyChecks seems to have been removed in ScalaTest 3.1.0

We made it private so that it would not hold up the 3.1.0 release any longer. I wanted to investigate a better way to integrate shrinking, as has been done by tools such as Hedgehog. The 3.2.0 release we wanted to be exactly the same as 3.1.0 except for modularization. After that we plan to complete and release ScalaTest's Generator. Meanwhile we figured everyone would continue to use ScalaCheckDrivenPropertyChecks and Gen, which is available here:

https://github.com/scalatest/scalatestplus-scalacheck

Instead try using ScalaCheckDrivenPropertyChecks like so

import org.scalacheck.Gen
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks

class HelloSpec extends AnyFlatSpec with Matchers with ScalaCheckDrivenPropertyChecks {
  "ScalaCheckDrivenPropertyChecks" should "provide forAll" in {
    forAll(Gen.choose(1, 100)) { i =>
      i shouldBe i
    }
  }
}

where

libraryDependencies ++= Seq(
  "org.scalatestplus" %% "scalacheck-1-14" % "3.1.1.1" % Test,
  "org.scalatest" %% "scalatest" % "3.1.1" % Test
)
like image 155
Mario Galic Avatar answered Oct 09 '22 23:10

Mario Galic