IntelliJ - 如何在文件模板中包含@Test注释

时间:2014-02-07 16:23:22

标签: java intellij-idea testng

我正在尝试在IntelliJ中为测试类(TestNG)创建一个文件模板,我希望@Test注释包含在模板中。如果我使用完全限定的命名空间作为注释它确实有效,但是,我更希望测试只有@Test注释。当我使用完整的注释时,它看起来像这样:

@org.testng.annotations.Test
public void testGeneratedStub () {      

}

我希望它看起来像这样:

@Test
public void testGeneratedStub () {      

}

我尝试在模板中使用@Test,同时还添加了import语句“import org.testng.annotations.Test;”但这也行不通。有没有人能够让这个工作?

修改 我尝试了Rafik991建议的静态导入,如下面的代码,但我仍然使用完全限定的注释(也尝试使用静态导入的@Test):

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
import static org.testng.annotations.Test;
#parse("File Header.java")
public class ${NAME} extends TestBase { 

@org.testng.annotations.Test
public void testGeneratedStub () {      

}
}

2 个答案:

答案 0 :(得分:0)

在测试文件模板中静态导入“org.testng.annotations.Test”。

答案 1 :(得分:0)

以下是模板的工作原理:

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
import org.testng.annotations.Test;
public class ${NAME} {
    @Test
    public void testGeneratedStub () {      
        $END$
    }
}

结果:

/**
 * User: demo
 * Date: 2/7/14
 * Time: 11:02 AM
 */

import org.testng.annotations.Test;

public class StackoverflowTest {
    @Test
    public void testGeneratedStub() {

    }
}