2016-04-26 5 views
0

私はScalatest 1.x用に書かれた一連のテストで、バージョン2.xでは廃止されたShouldMatchersクラスを使用しています。今後はバージョン2を新しいテストに使用したいと思っていますが、これは既存のすべてのテストをリファクタリングする必要があることを意味します(私はできますが、時間がかかります)。SBT - 1つのプロジェクトで2つのバージョンのライブラリを使用していますか?

その間、Scalatest 1.xに対して既存のクラスをコンパイルする方法はありますか?また、Scalatest 2.0に対しては新しいクラスをコンパイルする方法がありますか?

もっと一般的には、プロジェクトのいくつかのクラスを別のバージョンのライブラリに対して他のクラスとコンパイルしますか? (これはかなり恐ろしいアイデアかもしれないことに気付いています)。

+0

これはクラスパスを混乱させると思います。 2種類のテストで2つのサブプロジェクトを作成することはできませんか? –

+0

同じプロジェクトにありますか?できません。異なるプロジェクトでのみ使用できます。 –

+0

非常に問題はIDEの問題ではありませんが、classpath one、別名依存性の地獄 – cchantep

答えて

2

scala-testのバージョンごとに1つずつ、2つの従属サブプロジェクトを作成できます。

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" 
) 
関連する問題