3

是否可以排除带@Component注释的类?

我想从 JUnit 测试中排除一个特殊的类。

我的项目有一个带有xEventHandler注释的类@Component,我不希望 spring 在 junit 测试时使用这个类。

我的 ApplicationTestContext.xml 看起来像这样:

<context:component-scan base-package="com.company">
...
<context:exclude-filter expression="com\.company\.xyz\.xEventHandler.java " type="regex"/>
...
</context:component-scan>

但是,由于注释而进入了类@Component(例如,当我@Component从该类中删除时)。

我该如何解决?

4

2 回答 2

3

恕我直言,最好使用配置文件(在 3.1 中引入)来实现这一点:

  • test在配置文件中定义这个 bean
  • 通过添加注释激活testJUnit 测试中的配置文件@ActiveProfiles("test")

有关配置文件的更多信息:

于 2012-09-19T15:03:39.863 回答
2

我认为应该只是:

<context:exclude-filter expression="com\.company\.xyz\.xEventHandler" type="regex"/>
于 2012-09-19T15:00:44.913 回答