14

我希望能够输入test一个类文件,然后按 Tab 并将其扩展为:

@Test
public void whenThen() {

}

并且还包括适当的进口。这包括import static junit.framework.Assert.*;.

我该怎么做呢?我正在使用 Intellij 12

4

2 回答 2

35

test您可以像这样在 IntelliJ 12中创建实时模板:

文件 > 设置... > 实时模板

添加模板

  1. 添加新模板
  2. 设置缩写(您将键入的内容以使用此过滤器)
  3. 键入此模板(按 Tab 后,您的光标将位于 $EXPR$ 以完成方法的名称,在这种情况下,$END$ 是完成 $EXPR$ 名称后光标所在的位置(即,按 enter )

    @org.junit.Test
    public void test$EXPR$() {
        $END$
    }
    
  4. 确保 Expand with 设置为 Tab(或您喜欢的任何一个)
  5. 确保启用了缩短完全限定名称(@org.junit.Test模板中的这种方式添加import org.junit.Test;到文件顶部并且该方法将具有 just @Test
  6. 将 Applicable 设置为“in Java: declaration”。

编辑:正如 tieTYT 指出的那样,import static junit.framework.Assert.*可以通过创建一个新的文件模板来满足该部分:

JUnit 测试文件模板

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

import static junit.framework.Assert.*;

#parse("File Header.java")
public class ${NAME}
{

}

以上只是从 Class 模板复制粘贴,添加了import语句。

于 2013-03-08T02:47:37.230 回答
0

现在可以使用静态导入添加实时模板

您必须在选项中检查静态导入

@org.junit.Test
public void should$EXPR$when$CONDITION$() {
    org.junit.Assert.assertThat(null, org.hamcrest.CoreMatchers.is(org.hamcrest.CoreMatchers.nullValue())); 
}

在此处输入图像描述

于 2020-06-18T16:40:34.043 回答