Merge pull request #7287 from kevin-lee/add-hedgehog-to-testFrameworks

This commit is contained in:
eugene yokota 2023-06-06 09:53:06 -04:00 committed by GitHub
commit c01da39f37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 1 deletions

View File

@ -0,0 +1,9 @@
ThisBuild / scalaVersion := "2.13.11"
val hedgehogVersion = "0.10.0"
libraryDependencies ++= Seq(
"qa.hedgehog" %% "hedgehog-core" % hedgehogVersion,
"qa.hedgehog" %% "hedgehog-runner" % hedgehogVersion,
"qa.hedgehog" %% "hedgehog-sbt" % hedgehogVersion
).map(_ % Test)

View File

@ -0,0 +1,16 @@
package spec
import hedgehog._
import hedgehog.runner._
object FailureSpec extends Properties {
def tests: List[Test] =
List(
example("test failure", testFailure),
)
def testFailure: Result = {
// expected to fail
1 ==== 2
}
}

View File

@ -0,0 +1,17 @@
package spec
import hedgehog._
import hedgehog.runner._
object SuccessSpec extends Properties {
def tests: List[Test] =
List(
property("reverse", testReverse),
)
def testReverse: Property =
for {
xs <- Gen.alpha.list(Range.linear(0, 100)).log("xs")
} yield xs.reverse.reverse ==== xs
}

View File

@ -0,0 +1,2 @@
> testOnly spec.SuccessSpec
-> testOnly spec.FailureSpec

View File

@ -29,9 +29,10 @@ object TestFrameworks {
val MUnit = TestFramework("munit.Framework")
val ZIOTest = TestFramework("zio.test.sbt.ZTestFramework")
val WeaverTestCats = TestFramework("weaver.framework.CatsEffect")
val Hedgehog = TestFramework("hedgehog.sbt.Framework")
val All: Seq[TestFramework] =
Seq(ScalaCheck, Specs2, Specs, ScalaTest, JUnit, MUnit, ZIOTest, WeaverTestCats)
Seq(ScalaCheck, Specs2, Specs, ScalaTest, JUnit, MUnit, ZIOTest, WeaverTestCats, Hedgehog)
}
final class TestFramework(val implClassNames: String*) extends Serializable {