Spring框架纯注解方式的junit整合测试如下:
在之前的基础上,继续添加代码: service层模拟
package service;
import dao.CustomerDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service("customerService")
public class CustomerServiceImpl implements CustomerService {
@Resource(name="customerDao")
private CustomerDao customerDao;
@Override
public void save() {
System.out.println("--业务层..");
customerDao.save();
}
}
dao层模拟
package dao;
import org.springframework.stereotype.Repository;
@Repository("customerDao")
public class CustomerDaoImpl implements CustomerDao {
@Override
public void save() {
System.out.println("持久层保存..");
}
}
配置类——用来替换xml配置文件 其中的@ComponentScan ,可以加载多个包下spring管理的bean,每个用分号“”和逗号,隔开,如果没有组件扫描注解,则可能会报 无法注入bean 的错误。
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(basePackages={"dao","service"})
public class SpringConfig {
}
纯注解方式整合Junit单元测试框架测试类 的父类
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfig.class})
public class BaseTest {
}
基于注解的方式的spring框架整合junit测试,就是将localtions载入xml的方式改成classes的方式载入spring的配置类
实现具体的测试,只需要继承上面的BaseTest,在子类需要测试的方法上使用@Test注解即可
import org.junit.Test;
import org.springframework.stereotype.Component;
import service.CustomerService;
import javax.annotation.Resource;
/*
* 纯注解方式整合Junit单元测试框架测试类
*/
@Component
public class Demo extends BaseTest{
@Resource(name="customerService")
private CustomerService customerService;
@Test
public void fun() {
customerService.save();
}
}
无需启动 spring boot
直接运行junit类,测试成功!