Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntelliJ结构搜索:在测试中尝试捕获_Java_Optimization_Intellij Idea_Junit_Structural Search - Fatal编程技术网

Java IntelliJ结构搜索:在测试中尝试捕获

Java IntelliJ结构搜索:在测试中尝试捕获,java,optimization,intellij-idea,junit,structural-search,Java,Optimization,Intellij Idea,Junit,Structural Search,我最近从Eclipse切换到IntelliJ Idea,我对这一变化非常满意。 但是,我不知道如何编写自己的结构搜索模板 我想确定所有包含try的测试方法。。。抓住。。。最后块以删除它们。 替换模板是第二个目标,首先我想了解如何找到它们 我尝试使用现有的Idea模板来查找使用@Test注释的所有方法,但该模板略有修改: class $Class$ { @Test $ReturnType$ $MethodName$($ParameterType$ $Parameter$); }

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

我想确定所有包含
try的测试方法。。。抓住。。。最后
块以删除它们。 替换模板是第二个目标,首先我想了解如何找到它们

我尝试使用现有的Idea模板来查找使用
@Test
注释的所有方法,但该模板略有修改:

class $Class$ {
    @Test
    $ReturnType$ $MethodName$($ParameterType$ $Parameter$);
}
我还使用了一个预定义的模板来查找所有
try。。。catch
块,我最后添加了
检测:

try {
    $TryStatement$;
} catch($ExceptionType$ $ExceptionDcl$) {
    $CatchStatement$;
} finally{
    $FinallyStatment$;
}
但我不知道如何进一步混合这两个模板,以找到所有包含
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
        }
    }
你们能给我一个线索吗

致以最良好的祝愿


Julien。

您可以先搜索所有测试方法,然后在范围
以前的搜索结果中搜索所有
try catch
块。这将为您提供测试方法中的所有
try-catch
块,这些块可能足够接近您所需要的