在前面的测试类中,每个测试方法都有以下两行代码:
ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
// ApplicationContext context=new AnnotationConfigApplicationContext(SpringConfiguration.class);
UserService service1 = context.getBean(UserService.class);
一旦程序能自动为我们创建 spring 容器,我们就不需要写这行代码了
1 添加spring-test依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring-version}</version>
</dependency>
2 spring整合JUnit测试
@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration("classpath:applicationContext.xml")
@ContextConfiguration(classes={SpringConfiguration.class})
public class SpringJunitTest {
@Autowired
private UserService userService;
@Test
public void saveUser(){
userService.saveUser(new User(100,"SpringJunit"));
}
}
若报错Incompatible types. Found: ‘java.lang.Class<org.springframework.test.context.junit4.SpringJUnit4ClassRunner>’, required: 'java.lang.Class<? extends org.junit.runner.Runner>
可能是JUnit版本过低,需要4.12以上版本
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>