我最初在MySQL
设置了一个Spring启动应用程序,到目前为止一直很好。但是现在我正在尝试使用JPA
数据库为DAO layer
/ H2
创建更多单元测试。
我看到几个在线演示,在Spring中,通常的做法是使用applicationContext-test
来测试上下文设置。
在Spring boot 1.4中它仍然是一个好习惯吗?
@SpringBootApplication(scanBasePackages = {...})
public class ApplicationTest extends SpringBootServeltIntializer{
....
}
由于目前没有单独的xml文件保存测试环境,上面看起来是一个很好的解决方案吗?还有性能影响,当应用程序启动时,所有测试上下文也需要加载到内存中吗?
这是否意味着我需要在测试源中创建application.properties
? Spring引导有很多隐含的过程,但是我找不到很多关于Spring Boot中测试的DAO层设置的文本解释,所以任何指南都会受到赞赏。
答案 0 :(得分:3)
我的首选是不要使用Spring进行JUnit测试。
根据定义,JUnit测试应该是关于单个测试单个类的测试。 Spring是一个满足依赖关系的DI引擎。使用真正的依赖关系打破了单元测试的想法;对于那些我手动注射嘲笑的人。
我这样做是为了将测试限制在单个类中。我发现创建Spring工厂和所有应用程序bean需要很长时间。当我进行大量单元测试时,我不想支付这个价格。让Spring脱离混合使我的测试运行得更快。