我有很多带有 Spring @ContextConfiguration
注释的类。该注释具有 classes
参数,该参数可以是一个数组。
现在我的大多数类(class)都是这样的:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
ThisShellBeTwoClassesInContextHierarchyConfig.class,
SomeTest.SomeTestConfig.class,
WhateverConfig.class
})
@Transactional
public class SomeTest { ...
一些神奇的批处理操作的期望输出如下:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextHierarchy(classes = {
@ContextConfiguration(classes = { ConfigA.class }),
@ContextConfiguration(classes = { ConfigB.class }),
@ContextConfiguration(classes = {
SomeTest.SomeTestConfig.class,
WhateverConfig.class
})
})
@Transactional
public class SomeTest { ...
到目前为止,我什至无法让 IntelliJ IDEA Structural 替换工具使用 classes
参数查找注释,更不用说替换它了。
甚至像这样简化的结构
@$Annotation$($param$ = { $ctx$ })
没有找到任何东西。 ctx
的出现次数设置为无限制。
我应该如何正确使用注释参数?
最佳答案
看来是因为a bug无法匹配注释名称-值对中的数组 (ElementValueArrayInitializer)。您可以使用如下查询来匹配所需的注释:
@$Annotation$($param$ = $value$)
但这可能不是很有帮助。
关于java - 将注释参数之一替换为 IntelliJ IDEA 的结构替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148556/