2016-11-16 2 views
1

Приложение Scala имеет неуправляемые зависимости, определенные в Build.scala, как показано ниже. Ошибка компиляции, и она работает правильно. теперь я хочу добавить некоторые тестовые примеры. как добавить эти неуправляемые зависимости для тестирования?scala-тестирование с неуправляемыми зависимостями

lazy val applicationPrj = Project(
    id = "AAA", 
    base = file("AAA") 
) dependsOn (List(utilsPrj, jmsPrj).map(_ % defaultProjectScopeInheritance): _*) settings(
    globalSettings, 
    libraryDependencies ++= coreTestDeps ++ appDep ,  
    assemblySettings, 
    unmanagedJars in Compile ++= unmanagedLib, 
    unmanagedJars in Test ++= unmanagedLib //NOT work 
) 

    val appDep = Seq( 
    .... 
) 

    val unmanagedLib = { 
    val tempDefJarPath = new File("temp\\lib\\") ** "*.jar" 
    tempDefJarPath.classpath 
    } 

благодаря

+1

Пробовали ли вы «Ручное управление зависимостями» от http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics /Library-Management.html? Замените 'Compile' на' Test' и посмотрите, работает ли он. – radumanolescu

+0

Спасибо @radumanolescu. Я хотел иметь unmanaged libs только в области тестов, и ваше предложение работает как прелесть - я просто определил пользовательский 'unamangedJars in Test'. – botchniaque

ответ

1

Согласно Документов, баночки, что вы положили в lib добавляются ко всем к классам, в том числе тесты: http://www.scala-sbt.org/0.13.5/docs/Getting-Started/Library-Dependencies.html

Если не поняли, вы должны быть в состоянии видеть lib/MyLib.jar от вашего тестовые примеры. Вы можете напечатать путь к классам от одного из ваших тестов, чтобы проверить, что:

val cp = System.getProperty("java.class.path") 
val sep = System.getProperty("path.separator") 
cp.split(sep).foreach(println)