我有一个项目,其中包含一系列为Scalatest 1.x编写的测试,这些测试使用的是ShouldMatchers
类,该版本在2.x版中已弃用。展望未来,我想使用版本2进行新的测试,但这意味着我必须重构所有现有的测试(我可以做,但需要一些时间)。
与此同时,SBT中是否有一种方法可以针对Scalatest 1.x编译现有的类,而针对Scalatest 2.0编译新的类?
或者更一般地说,将项目中的某些类针对不同版本的库编译到其他类中? (我知道这可能是一个非常可怕的想法。)
答案 0 :(得分:2)
您可以创建两个相关的子项目,每个版本的scala-test一个。
lazy val root = project.in(file("."))
lazy val oldTests = project.in(file("old-tests"))
.dependsOn(root)
.settings(
libraryDependencies += "org.scalatest" %% "scalatest" % "1.9.1" % "test"
)
lazy val newTests = project.in(file("new-tests"))
.dependsOn(root)
.settings(
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.6" % "test"
)