Tôi đang sử dụng jUnit để quản lý kiểm tra tích hợp cho một ứng dụng truy cập cơ sở dữ liệu. Bởi vì thiết lập dữ liệu thử nghiệm là một hoạt động tốn thời gian, tôi đã làm điều đó trong phương thức @BeforeClass
, được thực hiện chỉ một lần cho mỗi lớp thử nghiệm (trái với phương pháp @Before
, được chạy một lần cho mỗi phương pháp thử nghiệm).Với jUnit 4, tôi có thể tham số hóa @BeforeClass không?
Bây giờ tôi muốn thử một vài hoán vị khác nhau cho cấu hình của lớp dữ liệu, chạy tất cả các thử nghiệm của tôi trên mỗi cấu hình khác nhau. Điều này có vẻ giống như việc sử dụng tự nhiên của Á hậu thử nghiệm Parameterized
. Vấn đề là, Parameterized
cung cấp tham số cho hàm tạo lớp và phương thức @BeforeClass
trừu tượng và được gọi trước hàm tạo lớp.
Một vài câu hỏi,
Liệu Parameterized
gọi phương pháp @BeforeClass
cho mỗi hoán vị của các thông số, hay nó chỉ gọi một lần?
Nếu phương pháp @BeforeClass
được gọi nhiều lần, có cách nào để truy cập các giá trị tham số từ bên trong không?
Nếu không có điều nào trong số này, những gì mọi người đề xuất là phương pháp thay thế tốt nhất cho vấn đề này?
Xem liệu http://code.google.com/p/junitparams/ có thể giúp – Jayan
Vì vậy, vẫn không có cách nào để thực hiện việc này? –
Hiệu ứng có thể được thực hiện bởi một Á hậu thử nghiệm tùy chỉnh. Thông thường bạn sẽ phân lớp BlockJUnit4ClassRunner. –