반응형
다중 프로젝트의 SBT 테스트 종속성 : 종속 프로젝트에서 테스트 코드를 사용할 수 있도록 설정
일부 프로젝트가 서로 종속성이있는 SBT 다중 프로젝트가 있습니다. 이렇게 :
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)
)
이제 테스트 폴더의 '핵심'프로젝트에 테스트 코드가 있습니다. 모의 및 테스트 유틸리티와 같은 것도 있습니다. 이제 확장 테스트에서 이러한 테스트 유틸리티를 사용하고 싶습니다. 프로덕션 코드의 경우 종속성을 선언했기 때문에 작동합니다. 그러나 종속성이 테스트에 적용되지 않는 것 같습니다. 테스트를 실행할 때 누락 된 클래스에 대한 컴파일 오류가 발생합니다. 이러한 클래스는 핵심 프로젝트의 테스트 코드에서 가져온 것입니다.
종속성에 테스트 범위에 대한 테스트 코드도 포함되어야한다고 sbt에 어떻게 알릴 수 있습니까? 그래서 '확장'프로젝트의 테스트 코드에서 모의를 재사용 할 수 있습니까?
이렇게 :
dependencies = Seq(coreProject % "compile->compile;test->test")
이는 Getting-Started-Multi-Project 가이드의 "Per-configuration classpath dependencies"섹션에서 설명합니다 .
.dependsOn(coreProject % "compile->compile;test->test")
초기 프로젝트 선언 이후에도 이를 수행 할 수 있습니다 .
lazy val coreProject = Project("core-project")
lazy val extensions = Project("extensions").dependsOn(coreProject % "compile->compile;test->test")
반응형
'Programing' 카테고리의 다른 글
Java toString ()에 해당하는 Swift (0) | 2020.11.02 |
---|---|
FolderBrowserDialog 대화 상자가 선택한 폴더로 스크롤되지 않는 이유는 무엇입니까? (0) | 2020.11.02 |
자바 스크립트 네이티브 코드 읽기 (0) | 2020.11.02 |
Node.js 7.5에서 '예기치 않은 식별자 대기' (0) | 2020.11.01 |
Kotlin에서 'findViewById'를 사용할 수 없습니다. (0) | 2020.11.01 |