在 Intellij 中,如何创建为测试添加导入语句的实时模板?

2022-09-03 17:29:14

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

@Test
public void whenThen() {

}

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

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


答案 1

您可以在IntelliJ 12中创建一个实时模板,如下所示:test

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

Adding a template

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

    @org.junit.Test
    public void test$EXPR$() {
        $END$
    }
    
  4. 确保“展开方式”设置为“Tab”(或您喜欢的任何一个)
  5. 确保启用了“缩短完全限定名称”(这样在模板中将添加到文件的顶部,并且该方法将只具有@org.junit.Testimport org.junit.Test;@Test)
  6. 将“适用”设置为“在 Java 中:声明”。

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

JUnit Test File Template

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

import static junit.framework.Assert.*;

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

}

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


答案 2

现在可以添加具有静态导入实时模板

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

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

enter image description here


推荐