Có thể chạy một phương pháp JUnit @Test
trong một lớp học mà có một phương pháp chú thích với @Before
, nhưng để bỏ qua những phương pháp @Before
chỉ cho thử nghiệm này?Run Junit @Test mà bỏ qua @ Trước/@ Sau
Chỉnh sửa: Tôi quan tâm nếu JUnit hỗ trợ chức năng này, không phải cách giải quyết. Tôi biết cách giải quyết như di chuyển (các) thử nghiệm trong một lớp khác hoặc xóa chú thích và gọi thủ công setUp()
trong mỗi phương pháp thử nghiệm.
Giả sử trong một lớp có 30 bài kiểm tra và 29 trong số đó @Before
thực sự đơn giản hóa việc khởi tạo thử nghiệm, nhưng đối với một (hoặc nhiều hơn) trong số đó là vô dụng/nó làm phức tạp mọi thứ.
public class MyTestClass {
@Before
public void setUp() {
//setup logic
}
@Test
public void test1() {
//[...]
}
@Test
public void test2() {
//[...]
}
//more tests here
@Test(ignoreBefore = true, ignoreAfter = true //false by default)
//something equivalent to this
public void test20() {
//[...]
}
}
Bạn có thể di chuyển 'test20' trong lớp riêng biệt mà không có chú thích' @ Before' và '@ After' không? – user1516873
@ user1516873 Về mặt kỹ thuật có, nhưng tôi muốn giữ tất cả các bài kiểm tra cho một lớp trong một lớp thử nghiệm duy nhất. Khi lớp được thiết kế/phát triển, thử nghiệm không được xem xét và tái cấu trúc cũng không phải là một giải pháp. Ngoài ra, định nghĩa các bài kiểm tra đơn vị nói rằng chúng độc lập và có thể chạy riêng. – m3th0dman