有没有办法防止这种情况 - 短路任何春天的发现,并在“当他们要求这个豆子,使用这个类”或类似的东西时烘烤 - 所以在春天没有搜索到零?
这里的主要驱动因素是创建一个弹簧上下文需要花费2分钟 - 这当然是手动运行单元测试的死亡,你希望它需要2毫秒。
答案 0 :(得分:0)
您可以让test-applicationContest.xml仅初始化测试所需的依赖项。我相信当你运行JUnit测试时,你正在测试你的应用程序的一部分而不是整体,而这又需要初始化一些东西。您可以为不同的JUnit类提供多个test-applicationContext.xml文件。
JUnit with Spring提供了一些注释来加载特定的applicationContext文件。
答案 1 :(得分:0)
这听起来像你所指的单元测试实际上是需要Spring上下文和相关容器创建的集成测试。
对于单元测试,只需使用类似EasyMock的东西模拟注入的依赖项。
对于集成测试,请考虑仅测试层的相应切片以加快测试速度。见这里:
https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4
请记住,通过使用Spring测试支持,您将获得一个缓存的Spring上下文,因此如果您正在编写集成测试,通常只需要启动容器一次,因为Spring将在此之后缓存它。