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. SpringRunnerlà 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.
SpringRunnerlớp học mở rộng SpringJUnit4ClassRunner.
Mã nguồn của SpringRunnerlà
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.