0

我最近从 Eclipse 切换到 IntelliJ Idea,我对这种变化感到非常满意。但是,我不知道如何编写自己的结构搜索模板

我想识别所有包含try ... catch ... finally块的测试方法以删除它们。替换模板是第二个目标,首先我想了解如何找到它们。

我尝试使用现有的 Idea 模板来查找@Test使用此模板进行注释的所有方法,稍作修改:

class $Class$ {
    @Test
    $ReturnType$ $MethodName$($ParameterType$ $Parameter$);
}

我还使用了一个预定义的模板来查找所有try ... catch块,我添加了finally检测:

try {
    $TryStatement$;
} catch($ExceptionType$ $ExceptionDcl$) {
    $CatchStatement$;
} finally{
    $FinallyStatment$;
}

但我不知道如何进一步混合这两个模板以找到所有包含块的测试方法。try ... catch ... finally

以下是我想用它找到的“坏测试”和不应该与结构模板匹配的“好测试”的例子:

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
        }
    }

各位大神可以给点线索吗?

最好的祝福,

朱利安。

4

1 回答 1

1

您可以先搜索所有测试方法,然后再搜索try-catch范围内的所有块Previous Search Results。这将为您提供测试方法中的所有try-catch块,这可能与您需要的足够接近?

于 2016-02-25T09:49:35.727 回答