如何在测试时排除依赖于另一个项目的项目的spring上下文

时间:2014-05-14 13:27:55

标签: java spring unit-testing

我有两个Java项目,“A”和“B”,B在A上有Maven依赖。我开始为B创建测试,但是当我尝试运行测试时它不会工作。  错误是在测试B时我的测试使用A的弹簧上下文。

我怎么知道如何从B的测试中排除A背景? 我正在使用它来设置B的测试环境

@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = {BTestContext.class})

我尝试在BTestContext中使用排除过滤器但是没有用。

@ComponentScan(basePackages = {"com.foo.b"}, excludeFilters = @ComponentScan.Filter(value = ABeanConfig.class))

1 个答案:

答案 0 :(得分:0)

下面的文档说明您可以为@ContextConfiguration批注指定customerContextLoader或customContextInitializer。

http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/testing.html#integration-testing-annotations

然后,一个建议是创建一个自定义ContextLoader。

对于基于注释的配置,您可能希望覆盖以下一个或多个方法:

http://docs.spring.io/spring/docs/3.2.8.RELEASE/javadoc-api/org/springframework/test/context/support/AnnotationConfigContextLoader.html