Làm cách nào để tạo bộ thử nghiệm với JUnit 4?
Tất cả các tài liệu tôi đã thấy dường như không hiệu quả với tôi. Và nếu tôi sử dụng trình hướng dẫn Eclipse, nó không cung cấp cho tôi tùy chọn để chọn bất kỳ lớp kiểm tra nào mà tôi đã tạo.
Làm cách nào để tạo bộ thử nghiệm với JUnit 4?
Tất cả các tài liệu tôi đã thấy dường như không hiệu quả với tôi. Và nếu tôi sử dụng trình hướng dẫn Eclipse, nó không cung cấp cho tôi tùy chọn để chọn bất kỳ lớp kiểm tra nào mà tôi đã tạo.
Câu trả lời:
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
//nothing
}
Bạn có thể tạo một bộ như vậy. Ví dụ, một AllTest
dãy phòng sẽ trông giống như thế này.
package my.package.tests;
@RunWith(Suite.class)
@SuiteClasses({
testMyService.class,
testMyBackend.class,
...
})
public class AllTests {}
Bây giờ bạn có thể chạy điều này theo một số cách khác nhau:
chạy từ dòng lệnh:
$ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
Tôi nghĩ rằng TestSuite đã không còn được ưa chuộng. Đó có thể là phong cách trước 4.x, nhưng bây giờ không phải như tôi biết.
Tôi chỉ chú thích các bài kiểm tra tôi muốn và sau đó chạy lớp học. Tất cả các bài kiểm tra có chú thích đều được chạy. Tôi có thể sử dụng Ant, nhưng hầu hết thời gian tôi có IntelliJ chạy chúng cho tôi.
@SuiteClass
chú thích trong nhiều lớp và bạn có thể lồng các Suite bên trong các Suite. Dòng suy nghĩ để tổ chức chúng trong 3.x vẫn hoàn toàn hợp lệ (và nên được sử dụng). Bạn có thể cấu trúc mọi thứ theo cách chính xác như bạn đã làm trước đây; bạn chỉ cần sử dụng cú pháp chú thích thay vì TestSuite.suite()
. Thực sự không có lợi khi sử dụng TestSuite
chú thích và bạn có thể tận dụng tất cả các cải tiến của JUnit 4 nếu sử dụng chú thích tương đương về mặt tổ chức.
Dưới đây là các bước để tạo một bộ JUnit trong eclipse:
Thông tin phiên bản: đây là dành cho eclipse Neon và JUnit 4. Bạn cũng có thể chọn JUnit 3 trước khi chọn 'Hoàn tất' ở bước 6.