2012-11-15 13 views
5

Tôi đã tạo một dự án hỗn hợp Scala/Java với SBT 0.11.2. Cấu hình của tôi cho thử nghiệm JUnit làSBT không reconize junit testcase được viết trong file java

resolvers += "twitter.com" at "http://maven.twttr.com/" 

seq(com.github.retronym.SbtOneJar.oneJarSettings: _*) 

libraryDependencies += "com.novocode" % "junit-interface" % "0.10-M2" % "test" 

Khi tôi viết các trường hợp kiểm tra JUnit ở Scala với @Test, mọi việc đều ổn. Nhưng khi tôi viết một trường hợp thử nghiệm Java JUnit, sau đó chạy test trong sbt, kiểm tra Java JUnit không thể được tái tạo. Chỉ các trường hợp thử nghiệm được viết bằng Scala mới được thực hiện.

Làm cách nào để làm cho sbt nhận ra các trường hợp thử nghiệm Java và Scala của tôi cùng một lúc?

Trả lời

1

bạn nên đặt các lớp học thử nghiệm của bạn vào src/kiểm tra/java và tên lớp của bạn nên kết thúc với "Test" (ví dụ myTest.java)

+1

Tôi đã kiểm tra và điều này không hiệu quả. Tôi đang sử dụng chú thích JUnit4 @Test. Không cần phải đổi tên lớp hoặc phương thức bằng hậu tố Kiểm tra. – CharlieQ

3

Có một lỗi trong 0.11.x trong việc phát hiện các bài kiểm tra Java là fixed in 0.12.0, mặc dù tôi không nghĩ rằng nó bị ảnh hưởng khi phát hiện các thử nghiệm có chú thích. Bạn có thể thử đến với một trường hợp thử nghiệm tối thiểu và kiểm tra với phiên bản sbt mới nhất (0.12.1). Nếu sự cố vẫn tồn tại, hãy gửi một lỗi.

+0

Cảm ơn. Đã nâng cấp lên 0.12.1 giải quyết vấn đề này. ps: Phiên bản Scala cũng nên được nâng cấp lên 2.9.2 – CharlieQ

8

Có thể là muộn cho câu hỏi origional, nhưng ..

Tôi vừa xem xét vấn đề này. Các bài kiểm tra JUnit trong dự án của tôi đã không chạy cho tôi cho đến khi tôi chạy sbt clean test. Bây giờ tất cả làm việc như một say mê.

+0

Wow, cảm ơn, đó là điều duy nhất đã giúp tôi. Dường như vấn đề vẫn tồn tại đối với sbt 0.13.5. –

+0

Vui vì nó đã giúp. Đó là giải pháp duy nhất làm việc cho tôi! Có thể là câu trả lời? :-) –

+0

Tất nhiên! Nếu chỉ có tôi là tác giả của câu hỏi này, tôi sẽ chấp nhận nó;) –