Cách biên dịch các bài kiểm tra với SBT mà không cần chạy chúng


97

Có cách nào để xây dựng các bài kiểm tra với SBT mà không cần chạy chúng không?

Trường hợp sử dụng của riêng tôi là chạy phân tích tĩnh trên mã thử nghiệm bằng cách sử dụng một plugin scalac. Một trường hợp sử dụng có thể khác là chạy một số hoặc tất cả mã thử nghiệm bằng cách sử dụng một trình chạy riêng hơn là mã được tích hợp trong SBT.

Lý tưởng nhất là sẽ có một giải pháp cho vấn đề này áp dụng cho bất kỳ dự án SBT nào. Ví dụ: Maven có một lệnh biên dịch thử nghiệm có thể được sử dụng chỉ để biên dịch các thử nghiệm mà không cần chạy chúng. Nếu SBT cũng có điều tương tự.

Ít lý tưởng hơn, nhưng vẫn rất hữu ích, sẽ là các giải pháp liên quan đến việc sửa đổi các tệp xây dựng của dự án.

Câu trả lời:


160

Chỉ cần sử dụng test:compilelệnh.


1
điều này có biên dịch các bài kiểm tra và mã không? hay chỉ là các bài kiểm tra?
Jwan622,

21

test:compile hoạt động để biên dịch các bài kiểm tra đơn vị của bạn.

Để biên dịch các bài kiểm tra tích hợp, bạn có thể sử dụng it:compile.

Một gợi ý khác để biên dịch liên tục trên mỗi lần thay đổi tệp: ~test:compile


6

Chúng tôi có một build.sbttệp được sử dụng cho nhiều dự án. Thực hiện sbt test:compilebiên dịch các bài kiểm tra cho mỗi dự án và mất hơn 30 phút.

Tôi phát hiện ra rằng tôi chỉ có thể biên dịch các bài kiểm tra cho một dự án cụ thể được đặt tên xyzbằng cách thực hiện:

sbt xyz/test:compile
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.