想法12,我如何指示一些弹簧文件仅用于测试

我有多个spring配置文件。 很少有测试。

在整个代码库中,Idea12已将所有Autowired bean高亮显示为“有多个XXX类型的bean”。

如何配置IDEA以便正确识别要在测试和生产中使用的实例?


它应该在下一次更新中得到解决。 但是,只要进入Project Structure -> Facets -> Spring并删除一些已经定义的应用程序上下文配置。

例如,我的项目中有两个模块:Core(jar)和Webapp(war),这取决于Core。 当两者都包含在IDEA中的Spring平台中时,核心应用程序上下文中定义的bean会被IDE看到两次:第一次直接来自核心应用程序上下文,第二次来自包含Core上下文的Webapp上下文。 由于核心模块bean已经在Web模块中可见,因此可以删除Core的Spring版本并解决问题。


当我尝试用两个或多个注释来注释一个类时,这个问题也会出现,如下所示:

@Service
@Repository
public class Foo {...}

@Component
public class AnotherFoo {
    @Inject
    Foo foo; // Here is error in IDEA, in spite of Spring takes it normally.
}

因此,从不必要的注释中清除(本例中的@Service )可以帮助避免恼人的警告。


我不认为这个问题在12.1.4中是固定的。 不完美的解决方法是右键单击测试文件夹中的spring配置文件并将其标记为纯文本。

链接地址: http://www.djcxy.com/p/11601.html

上一篇: Idea 12, How do I indicate some spring files are used only for Tests

下一篇: Best unit testing tool/method for a hadoop mapreduce job