Bất cứ khi nào tôi thấy một bài đăng trên blog liên quan đến thử nghiệm Spring, tôi sẽ thấy một trong hai lớp này nhưng không hiểu sự khác biệt thực sự:
@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)
Bất cứ khi nào tôi thấy một bài đăng trên blog liên quan đến thử nghiệm Spring, tôi sẽ thấy một trong hai lớp này nhưng không hiểu sự khác biệt thực sự:
@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)
Câu trả lời:
Không có sự khác biệt, từ javadoc:
SpringRunner là một bí danh của SpringJUnit4ClassRunner.
@RunWith(SpringRunner.class)
yêu cầu JUnit chạy bằng hỗ trợ thử nghiệm của Spring. SpringRunner
là tên mới SpringJUnit4ClassRunner
, nó chỉ dễ nhìn hơn một chút.
SpringRunner
chỉ có sẵn trong thử nghiệm mùa xuân 4.3.
SpringRunner
lớp học mở rộng SpringJUnit4ClassRunner
.
Mã nguồn của SpringRunner
là
package org.springframework.test.context.junit4;
import org.junit.runners.model.InitializationError;
public final class SpringRunner extends SpringJUnit4ClassRunner {
public SpringRunner(Class<?> clazz) throws InitializationError {
super(clazz);
}
}
SpringRunner
& SpringJUnit4ClassRunner
.