Skip to content

Commit 94e2c28

Browse files
authored
chore: πŸ€– Split integration tests in their own modules (#291)
This will allow easier testing of some integrations like Jackson or Picocontainer
1 parent 4c8b706 commit 94e2c28

40 files changed

+61
-29
lines changed

β€Žbuild.sbt

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ lazy val root = (project in file("."))
6464
)
6565
.aggregate(
6666
cucumberScala.projectRefs ++
67+
integrationTestsCommon.projectRefs ++
68+
integrationTestsJackson.projectRefs ++
6769
examples.projectRefs: _*
6870
)
6971

@@ -75,9 +77,8 @@ lazy val cucumberScala = (projectMatrix in file("cucumber-scala"))
7577
libraryDependencies ++= Seq(
7678
"io.cucumber" % "cucumber-core" % cucumberVersion,
7779
// Users have to provide it (for JacksonDefaultDataTableTransformer)
78-
("com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonVersion % Provided),
80+
"com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonVersion % Provided,
7981
"junit" % "junit" % junitVersion % Test,
80-
"io.cucumber" % "cucumber-junit" % cucumberVersion % Test,
8182
("org.mockito" %% "mockito-scala" % mockitoScalaVersion % Test)
8283
.cross(CrossVersion.for3Use2_13)
8384
),
@@ -120,6 +121,36 @@ lazy val cucumberScala = (projectMatrix in file("cucumber-scala"))
120121
)
121122
.jvmPlatform(scalaVersions = Seq(scala3, scala213, scala212))
122123

124+
// Integration tests
125+
lazy val integrationTestsCommon =
126+
(projectMatrix in file("integration-tests/common"))
127+
.settings(commonSettings)
128+
.settings(
129+
name := "integration-tests-common",
130+
libraryDependencies ++= Seq(
131+
"junit" % "junit" % junitVersion % Test,
132+
"io.cucumber" % "cucumber-junit" % cucumberVersion % Test
133+
),
134+
publishArtifact := false
135+
)
136+
.dependsOn(cucumberScala % Test)
137+
.jvmPlatform(scalaVersions = Seq(scala3, scala213, scala212))
138+
139+
lazy val integrationTestsJackson =
140+
(projectMatrix in file("integration-tests/jackson"))
141+
.settings(commonSettings)
142+
.settings(
143+
name := "integration-tests-jackson",
144+
libraryDependencies ++= Seq(
145+
"junit" % "junit" % junitVersion % Test,
146+
"io.cucumber" % "cucumber-junit" % cucumberVersion % Test,
147+
"com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonVersion % Test
148+
),
149+
publishArtifact := false
150+
)
151+
.dependsOn(cucumberScala % Test)
152+
.jvmPlatform(scalaVersions = Seq(scala3, scala213, scala212))
153+
123154
// Examples project
124155
lazy val examples = (projectMatrix in file("examples"))
125156
.settings(commonSettings)
@@ -156,7 +187,7 @@ releaseProcess := Seq[ReleaseStep](
156187
//commitReleaseVersion,
157188
//tagRelease,
158189
releaseStepCommandAndRemaining("publishSigned"),
159-
releaseStepCommand("sonatypeBundleRelease"),
190+
releaseStepCommand("sonatypeBundleRelease")
160191
// the 3 following steps are part of the Cucumber release process
161192
//setNextVersion,
162193
//commitNextVersion,

0 commit comments

Comments
Β (0)