首页 > 解决方案 > 在多模块 Spring 应用程序中测试服务层

问题描述

我有一个由几个模块组成的项目。(web,jms,service,persistence) 当我编写持久性模块的测试时,它工作得很好,因为我使用了下面的代码片段。

    @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = PersistenceConfig.class)
public class SomeTestClass{

    @Autowired
    SomeRepository someRepository;

在这里你可以看到我正在使用 PersistenceConfig 配置类,它工作得很好。当涉及到测试在 JMS 模块中具有依赖关系的服务层时,我正在通过属性文件配置 jms 属性。问题是 @PropertyResource 没有被注入到测试类中,我需要读取该文件来配置 JMSConfig 类。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = {PersistenceConfig.class, JmsConfig.class, CachingConfig.class})
@TestPropertySource("classpath:asynch_test.properties")
public class SomeServiceTest {

    @Autowired
    @Qualifier("somePersistenceService")
    SomeService someService;

任何评论表示赞赏。

标签: javaspringmavenjunit

解决方案


推荐阅读