Tôi đã tìm thấy sbt-groovy plugin và nó biên dịch chính xác cả kiểm tra và các nguồn chính tốt. Tuy nhiên, khóa definedTests
luôn trống; SBT không bao giờ phát hiện ra bất kỳ thử nghiệm groovy nào. Tôi đã xác minh điều này với một đơn rất đơn giản src/test/groovy/Test.groovy
với một phương thức được chú thích là @Test
cần được chọn bởi junit-interface.Làm thế nào để có được sbt để nhận các bài kiểm tra viết bằng groovy?
Tôi nghĩ rằng gốc của vấn đề là plugin sbt-groovy cần xác định tác vụ "definedTests" trong own plugin source code. Nhiệm vụ này cung cấp Seq[TestDefinition]
.
Nhìn vào cách thức SBT tự điền chuỗi trình tự, nó sử dụng đầu ra bổ sung từ trình biên dịch scala (cũng xảy ra để biên dịch các tệp java, vì vậy nó hoạt động ra khỏi hộp cho java) trong lớp Analysis
. số IncrementalCompiler
Tôi đã fiddled around with the taskdef, nhưng tôi không chắc chắn mình có đang đi đúng hướng hay không. Tài liệu về nội dung này khá thưa thớt hoặc được kết nối nhiều với số IncrementalCompiler
.
Tôi cần mã nào trong sbt-groovy để tạo ra Seq[TestDefinition]
thỏa mãn SBT để tôi có thể chạy thử nghiệm (được giao diện junit chọn) được viết bằng Groovy?
Điều gì xảy ra nếu không có mã kiểm tra? Tôi đang chạy vào một vấn đề tương tự mà Tests.discover không tìm thấy bất kỳ vì ... không có mã nguồn ở tất cả! Điều này tương tự như các câu hỏi sau: http://stackoverflow.com/questions/16389446/compile-tests-with-sbt-and-package-them-to-be-run-later http://stackoverflow.com/câu hỏi/22073998/chạy thử nghiệm-từ-jar-với-sbt-testonly-in-sbt –