spring boot 在开发过程中,由于人员/项目结构的原因,我们越来越多的会选择分模块去开发
其中最简单的模块结构例如将一个工程中的model\dao\service\web由原来的多个包分成各个不同的工程,由不同的程序员负责单一工程(例如张三只负责dao相关操作,负责把sql相关操作做的精益求精,而不用去管web层与用户的交互过程),这样我们最终将多个工程整合成同一个工程就可以比较快速的完成大项目的分解开发了
这样把工程拆分后问题也出现了,比如我们工程的启动文件@SpringBootApplication等都只在web层写了,dao层,service层其实不需要这个文件的,那这样的话,在dao层写的junit如果按照平常的测试方式,在junit头部加上spring测试注解就会有问题:
@RunWith(SpringRunner.class)
@SpringBootTest
单凭这两句会报错
这时候我们需要单独写一个测试类,在里边模拟spring boot的启动类就可以正常测试了
@SpringBootApplication
@MapperScan(basePackages = "org.dougou.model.mapper",
annotationClass = Repository.class)
@Configuration
@PropertySource(value="classpath:application-model-dev.properties")
public class DaoApplicationTests {
@Test
public void contextLoads() {
}
}
添加好这个类之后,我们就可以正常使用我们模块化工程中的spring junit了
探讨SpringBoot项目模块化开发策略,特别是在DAO层的单元测试中遇到的问题及解决方案。通过创建模拟启动类,实现模块间独立且有效的JUnit测试。
2561

被折叠的 条评论
为什么被折叠?



