mirror of https://github.com/sbt/sbt.git
Merge pull request #7287 from kevin-lee/add-hedgehog-to-testFrameworks
This commit is contained in:
commit
c01da39f37
|
|
@ -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)
|
||||||
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
> testOnly spec.SuccessSpec
|
||||||
|
-> testOnly spec.FailureSpec
|
||||||
|
|
@ -29,9 +29,10 @@ object TestFrameworks {
|
||||||
val MUnit = TestFramework("munit.Framework")
|
val MUnit = TestFramework("munit.Framework")
|
||||||
val ZIOTest = TestFramework("zio.test.sbt.ZTestFramework")
|
val ZIOTest = TestFramework("zio.test.sbt.ZTestFramework")
|
||||||
val WeaverTestCats = TestFramework("weaver.framework.CatsEffect")
|
val WeaverTestCats = TestFramework("weaver.framework.CatsEffect")
|
||||||
|
val Hedgehog = TestFramework("hedgehog.sbt.Framework")
|
||||||
|
|
||||||
val All: Seq[TestFramework] =
|
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 {
|
final class TestFramework(val implClassNames: String*) extends Serializable {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue