【问题标题】:In Intellij, how do I create a live template that adds import statements for tests?在 Intellij 中,如何创建一个为测试添加导入语句的实时模板?
【发布时间】:2013-03-08 01:26:20
【问题描述】:

我希望能够在类文件中键入test,然后按 Tab 键并将其扩展为:

@Test
public void whenThen() {

}

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

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

【问题讨论】:

  • 如果你有自动导入,它应该已经导入注释了。

标签: java junit intellij-idea


【解决方案1】:

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

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

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

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

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

#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())); 
}

【讨论】:

    猜你喜欢
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 2014-12-12
    相关资源
    最近更新 更多