Tôi đã là một dự án đa SBT, nơi một số dự án có sự phụ thuộc với nhau. Như thế này:Kiểm tra SBT-phụ thuộc vào Multiprojects: Làm cho mã kiểm tra có sẵn cho các dự án phụ thuộc
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)
)
Bây giờ tôi có một số mã thử nghiệm trong dự án 'cốt lõi' trong thư mục thử nghiệm. Ngoài ra còn có những thứ như mocks và các tiện ích kiểm tra. Bây giờ tôi muốn sử dụng các tiện ích kiểm tra đó trong các thử nghiệm của các phần mở rộng. Đối với mã sản xuất, nó hoạt động, vì tôi đã khai báo một sự phụ thuộc. Tuy nhiên có vẻ như sự phụ thuộc không giữ cho các bài kiểm tra. Khi tôi chạy các bài kiểm tra tôi nhận được lỗi biên dịch cho các lớp bị thiếu. Các lớp đó là từ mã thử nghiệm trong dự án lõi.
Làm cách nào tôi có thể nói sbt rằng phụ thuộc cũng nên bao gồm mã kiểm tra cho phạm vi kiểm tra? Vì vậy mà tôi có thể tái sử dụng mocks của tôi trong mã thử nghiệm của dự án 'exension'?
Ah vâng, cảm ơn. Đã nhìn thấy bit đó. – Gamlor
Chỉ cần những người khác không nhầm lẫn ở đây, điều này cho thấy rằng bạn đặt các phụ thuộc trong định nghĩa dự án (không phải là phụ thuộc thư viện). –