Spring / Junit访问兄弟班

时间:2012-03-09 14:58:02

标签: java spring testing maven junit

运行我的Test类

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:eq-mo-dcc-context-block.xml"})

public class SpringTest {

@Autowired
private DateUtils dateManager;

@Autowired
private RegionFilter filter;

@Autowired
private ApplicationContext appContext;

@Test
public void test_This()
{
    Object obj = appContext.getBean("BlockTransformer");
    BlockTransformer Trans = (BlockTransformer) obj;


}

所有非常早期的阶段,然而配置文件出现的问题从其他Maven模块/项目访问bean。但是我在src / test / resources下有所有xml,所以它可以拿起xml。然而,当我试图拿起我得到的类文件时:

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [dcc.mdp.DefaultMessageListener] for bean with name 'BlockMessageListener' defined in class path resource [eq-mo-dcc-context-block.xml]; nested exception is java.lang.ClassNotFoundException: dcc.mdp.DefaultMessageListener

此类位于兄弟maven模块中,但无法从测试类中获取。如何让类知道除了它自己以外的其他模块的类?

1 个答案:

答案 0 :(得分:2)

Maven模块不会自动“知道”同一父项目下其他模块的任何内容,因此包含所需类的兄弟模块需要在包含测试类的模块中列为依赖项。