Đây là những testcases tôiDừng thử nghiệm JUnit trong phương pháp @Before mà không thất bại
class Mother {
@Before
public void setUp() {
if (!this.getClass().isAnnotatedWith("Version20")) { // pseudo code
/*
* stop this test without failing!
*/
}
// further setup
}
}
@Version20
class Child extends Mother {
@Test
public void test() {
// run only when Version == 20
}
}
Có thể ngăn chặn các thử nghiệm trong Child trong phương pháp @Before của Mẹ mà không thất bại hoặc assertTrue (sai)?
chỉnh sửa: Tôi có nhiều phiên bản @ Version19, @ Version18, v.v. phần mềm của tôi đang đọc cấu hình và xuất kết quả một số thử nghiệm chỉ áp dụng cho các phiên bản đặc biệt. Tôi không muốn kiểm tra phiên bản trong phương pháp thử vì tôi có nhiều thử nghiệm nhỏ và không thích sao chép mã
Tại sao không chỉ sử dụng '@ ignore', nếu bạn định chú thích các bài kiểm tra? – weltraumpirat
Làm thế nào về việc thêm kiểm tra cho Version20 trong phương pháp thử nghiệm? –
có thể trùng lặp của [Điều kiện bỏ qua các thử nghiệm trong JUnit 4] (http://stackoverflow.com/questions/1689242/conditionally-ignoring-tests-in-junit-4) – oers