TestExecutionListeners
为在 Spring TestContext Framework 中运行的测试提供各种类型的功能。
如果您对特定侦听器的作用感兴趣,最好的方法是阅读相应类的 Javadoc。此外,Spring 参考手册的测试章节详细介绍了如何使用每个侦听器以及它们的作用。
在您的特定情况下,如果您不使用@DirtiesContext
,那么您不需要使用DirtiesContextTestExecutionListener
. 至于DependencyInjectionTestExecutionListener
和TransactionalTestExecutionListener
,您可能需要它们将依赖项注入您的测试(例如,通过@Autowired
、@Inject
、@Resource
等)和事务测试(即,用 注释的测试@Transactional
)。
另请注意,默认情况下启用上述侦听器。因此,如果您一直在使用没有任何自定义侦听器(如 DbUnit)的 Spring TestContext 框架,那么您永远不会意识到侦听器的存在。参考手册中有关TestExecutionListener 配置的部分也应该有助于澄清事情。但是请注意,某些功能(如默认侦听器的合并和自动检测)仅在 Spring Framework 4.1+ 中可用。
问候,
Sam (Spring TestContext 框架的作者)