2011-09-07 5 views
5

Khi chạy thử nghiệm đơn vị, Gradle có thể thực thi nhiều phép thử song song mà không có bất kỳ thay đổi nào đối với các kiểm tra (ví dụ: chú thích đặc biệt, trình kiểm tra, v.v.). Tôi muốn đạt được điều tương tự với kiến, nhưng tôi không chắc chắn làm thế nào.Chạy thử nghiệm JUnit song song

Tôi đã xem this question nhưng không có câu trả lời nào thực sự hấp dẫn đối với tôi. Chúng có liên quan đến hack với cont-contrib, các runners đặc biệt được thiết lập với chú thích @RunWith, một số chú thích đặc biệt khác, v.v. Tôi cũng biết về TestNG, nhưng tôi không thể làm cho trình cắm thêm Eclipse di chuyển các thử nghiệm của chúng ta - và chúng tôi có khoảng 10.000 người trong số họ nên tôi không làm điều đó bằng tay!

Gradle không cần bất kỳ nội dung nào trong số này, vì vậy, làm cách nào để làm điều đó trong kiến? Tôi đoán Gradle sử dụng một nhân vật đặc biệt, nhưng nếu như vậy, nó được thiết lập như là một phần của thiết lập JUnit, và không được đề cập trong mỗi bài kiểm tra duy nhất. Nếu đó là trường hợp, thì đó là tốt. Tôi thực sự không muốn đi và sửa đổi c. 10.000 bài kiểm tra đơn vị!

Trả lời

6

Gradle không sử dụng nhân vật JUnit đặc biệt theo nghĩa nghiêm ngặt của từ đó. Nó "đơn giản" có nhiệm vụ kiểm thử tinh vi biết cách xoay nhiều JVM, chạy một tập con của các lớp thử nghiệm trong mỗi lớp (bằng cách gọi JUnit) và báo cáo lại kết quả cho JVM thực hiện việc xây dựng. Có kết quả được tổng hợp để làm cho nó trông giống như một đơn JVM, thực hiện kiểm tra đơn luồng. Điều này thậm chí làm việc cho các bản xây dựng để xác định người nghe thử nghiệm của riêng họ.

Để thực hiện kiểm tra song song trong Ant, bạn sẽ cần một tác vụ Ant hỗ trợ tính năng này (không chắc chắn nếu có). Một cách khác là nhập bản dựng Ant của bạn vào Gradle (ant.importBuild "build.xml") và thêm nhiệm vụ kiểm tra ở phía Gradle.

+0

Hmmm, đó là một ý tưởng thú vị. Tôi ngạc nhiên rằng một điều như vậy không tồn tại trong Ant, thành thực mà nói. – dty