我最近从Eclipse切换到IntelliJ Idea,我对这一变化非常满意。但是,我不知道如何编写自己的结构化搜索模板。
我想确定所有包含<code>try的测试方法。。。接住最后是块,以便删除它们。替换模板是第二个目标,首先我想了解如何找到它们。
我尝试使用现有的Idea模板来查找用@Test
注释的所有方法,并稍微修改了该模板:
class $Class$ {
@Test
$ReturnType$ $MethodName$($ParameterType$ $Parameter$);
}
我还使用了预定义的模板来查找所有<code>try。。。捕获块,我添加了最后
检测:
try {
$TryStatement$;
} catch($ExceptionType$ $ExceptionDcl$) {
$CatchStatement$;
} finally{
$FinallyStatment$;
}
但是我不知道如何进一步混合这两个模板,以便找到所有包含< code>try的测试方法...捕捉...最后块。
以下是我想用它找到的“坏测试”的例子,以及不应该与结构模板匹配的“好测试”:
public class Tests {
@Test
public void badTest() {
// some code
try {
// some code
} catch (Exception e) {
// some code
} finally {
// some code
}
// some code
}
@Test
public void goodTest() throws Exception {
// some code
}
}
你们能给我一个线索吗?
最好的问候,
朱利安。
您可以先搜索所有测试方法,然后搜索“以前的搜索结果”
范围内的所有 try-catch
块。这将在测试方法中为您提供所有 try-catch
块,这些块可能足够接近您需要的?