create - sbt scala
SBT Test-Dependencies en multiproyectos: hacer que el código de prueba esté disponible para proyectos dependientes (2)
Al igual que:
dependencies = Seq(coreProject % "compile->compile;test->test")
Esto se trata en la sección "Dependencias de classpath por configuración" en la guía Getting-Started-Multi-Project .
Tengo un proyecto multi SBT donde algunos proyectos tienen dependencias entre ellos. Me gusta esto:
lazy val coreProject: Project = Project(
id = "core-project",
base = file("./core-project"),
// other stuff
))
lazy val extensions: Project = Project(
id = "extensions",
base = file("./extensions"),
dependencies = Seq(coreProject)
)
Ahora tengo un código de prueba en el proyecto ''core'' en la carpeta de prueba. También hay cosas como simulacros y utilidades de prueba. Ahora me gustaría usar esas utilidades de prueba en las pruebas de las extensiones. Para el código de producción, esto funciona, ya que he declarado una dependencia. Sin embargo, parece que la dependencia no es válida para las pruebas. Cuando ejecuto las pruebas obtengo un error de compilación para las clases faltantes. Esas clases son del código de prueba en el proyecto central.
¿Cómo puedo decirle a sbt que la dependencia también debe incluir el código de prueba para el ámbito de prueba? ¿Para poder reutilizar mis burlas en el código de prueba del proyecto ''exension''?
También puede hacer esto con un .dependsOn(coreProject % "compile->compile;test->test")
después de la declaración inicial del proyecto.
lazy val coreProject = Project("core-project")
lazy val extensions = Project("extensions").dependsOn(coreProject % "compile->compile;test->test")