想法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