版权声明:禁止CV操作 https://blog.csdn.net/H44341466/article/details/84675583
1.我们使用junit进行对spring项目进行单元测试的时候,如果我们是使用的xml配置的方式;大家都知道是使用下面的方式:
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/applicationContext.xml")
@TestPropertySource("classpath:application.properties")
public class EmployeeServiceTest {
@Autowired
private EmployeeService employeeService;
@Test
public void testSyncEmployee() {
BizResult bizResult = employeeService.autoBindEmployee();
}
}
其中@ContextConfiguration是配置我们的xml文件;
2.但是如果我们不是使用的xml而是javaConfig呢?比如我们使用的是下面这样的配置
@Slf4j
@Configuration
@EnableWebMvc
@ComponentScan("com.facishare.open")
@MapperScan("com.facishare.open.open.fscommon.mapper")
public class MvcConfig {
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driver-class-name}")
private String driverClassName;
@Bean(name="sqlSessionFactory")
@Autowired
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
return sessionFactoryBean;
}
@Bean
public DataSource dataSource (){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUrl("jdbc:mysql://localhost:3306/test? useUnicode=true&characterEncoding=utf-8&useSSL=false");
dataSource.setUsername("root");
dataSource.setPassword("root");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
return dataSource;
}
}
如果使用javaConfig形式,也很简单,只需要把@ContextConfiguration(locations = "classpath:/spring/applicationContext.xml")修改为@ContextConfiguration(classes = MvcConfig.class)就OK了;示例如下:
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MvcConfig.class)
public class Test {
}
然后就可以写你自己的测试单元了!!