首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一组单元测试类中的spring应用程序上下文

一组单元测试类中的spring应用程序上下文
EN

Stack Overflow用户
提问于 2017-04-10 23:27:45
回答 1查看 548关注 0票数 0

我在同一个包中创建了几个单元测试类。所有这些类都只有一个测试用例,并且具有相同的注释,如下所示:

@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes= {TestConfig.class} )

当我运行这些测试用例时,我希望每个测试用例都在其自己的应用程序上下文中运行。但是似乎同一个包中的所有测试用例共享一个单独的应用程序上下文,无论它是从maven命令行运行,还是在Eclipse中选择包作为junit运行。

如果我使用TestConfig1、TestConfig2等名称复制TestConfig,并使用不同TestConfig类注释不同的测试类,那么每个测试都将在其自己的上下文实例中运行。

有没有其他优雅的方法来实现这一点呢?

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-04-11 00:22:47

这是Spring测试的默认行为。Spring测试默认跨测试缓存应用程序上下文。这减少了测试执行时间。

我不知道你的用例。如果您有任何地方弄脏了应用程序上下文(更改了由springs管理的bean的状态,这会影响后续的测试),那么您可以使用@DirtiesContext来注释测试方法。Spring测试重新加载这些方法的上下文。请参阅下面的链接如何使用DirtiesContext。

https://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#testcontext-ctx-management-caching

无论何时需要,都要小心使用这个特性,因为这可能会以指数级增加您的测试执行时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43327225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档