2013-04-16 7 views
13

Có thể chạy thử nghiệm junit trong intelliJ song song không? Nếu vậy, làm thế nào để tôi làm điều này?Chạy thử nghiệm junit trong intelliJ song song

Tôi đặt thông số "ngã ba" thành cấp lớp và điều này không làm gì - thực ra, nó làm mọi thứ chậm hơn một chút, vì vậy tôi không chắc chắn "fork" nào có lợi?

Có thể thực hiện điều này chỉ sử dụng intelliJ hoặc tôi cần một số khung kiểm tra ưa thích và tất cả các hoo-hah có liên quan?

Cuối cùng, giả sử điều này là có thể, có thể kiểm soát số lượng nhánh hoặc chủ đề hoặc bất kỳ thứ gì họ muốn gọi không?

CẬP NHẬT: ai đó đã liên kết với câu hỏi có thể trả lời câu hỏi này. Tôi đã xem câu hỏi đó trước khi đăng - Tôi không chắc câu hỏi đó thực sự là "câu trả lời". Nó chỉ đơn giản nói rằng có một bộ theo dõi vấn đề và rằng vấn đề này đã được thực hiện trong intelliJ. Tôi không thấy cách để triển khai ở bất cứ nơi nào.

CẬP NHẬT: "Không làm gì" nghĩa là gì ?: nó chỉ làm cho mọi thứ chậm hơn, điều này không hữu ích. Ý tôi là, có lẽ các thử nghiệm của bạn chạy nhanh một cách nhanh chóng và bạn muốn làm chậm chúng xuống để đánh giá cao một số Bach? Thật là tuyệt. Tôi chỉ muốn tôi chạy nhanh hơn, tôi chán ngấy Bach.

+1

Xác định "nó không làm bất cứ điều gì", nó * làm * làm điều gì đó, nó chạy thử nghiệm của bạn trong một JVM mới. Điều đó có * không * để làm với "chạy thử nghiệm song song". –

+0

Có thể sử dụng một số hỗ trợ maven, kể từ http://stackoverflow.com/questions/423627/running-junit-tests-in-parallel. Tôi hiểu nó cần một số hoo-hah, vì vậy tôi không đặt nó như một câu trả lời. –

+0

@DaveNewton tôi cho rằng tôi có nghĩa là "không làm bất cứ điều gì để giảm bớt vấn đề trong tầm tay". – bharal

Trả lời

4

Bạn có thể sử dụng số junit-toolbox. Đây là một thư viện mở rộng cho jUnit được liệt kê trên chính trang jUnit.

Tiện ích này cung cấp the ParallelSuite. Thông qua điều này, bạn có thể tạo ra với nỗ lực gần như không có một lớp AllTest thực thi các phép thử song song. AllTest tối thiểu có thể trông giống như mã bên dưới, sử dụng tính năng mẫu được giới thiệu với hộp công cụ junit.

@RunWith(ParallelSuite.class) 
@SuiteClasses("**/*Test.class") 
public class AllTests {} 

Điều này sẽ tạo ra nhiều luồng để thực hiện song song như báo cáo JVM của bạn qua availableProcessors. Để ghi đè điều này, bạn có thể đặt thuộc tính hệ thống maxParallelTestThreads.