【问题标题】:JUnit in Intellij Idea generates empty test class bodyIntellij Idea 中的 JUnit 生成空的测试类主体
【发布时间】:2017-12-11 10:29:26
【问题描述】:

每次我在 IntelliJ IDEA 中创建 JUnit 5 测试类 (Ctrl+Shift+T) 时,它都会生成空白测试具有空方法体的夹具。

例如

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class RegTest {

    @Test
    void insert() {
    }

    @Test
    void delete() {
    }
}

如果我自己写这些方法断言,它工作正常。

它不应该准备(生成)例如贵重物品expResultdataassertEquals(expResult,data)吗?

很抱歉打扰您,但我阅读了 JUnit 常见问题解答和 IntelliJ IDEA 帮助,但仍然一无所知。

谢谢

【问题讨论】:

  • 这是 IntelliJ 帮助您为您提供模板方法,您可以在类文件中使用 intellij 中的 try cmd+n 创建自己的测试(我猜在 windows 上为 ctrl+n)并查看哪些选项你得到...
  • 测试可以有多种形式。您可能希望断言抛出异常、值相等、调用模拟。也许是所有这些的反面。鉴于选项的多样性,我认为在方法调用之外不定义骨架是合理的

标签: java unit-testing intellij-idea junit


【解决方案1】:

Editor -> File and Code Templates 下,您可以定义Java 类的模板(通用)。

假设您所有的测试类都以Test 结尾,那么您可以使用以下内容编辑该通用模板:

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

#if ($NAME.endsWith("Test"))
import static org.hamcrest.Matchers.*;
import static org.mockito.Mockito.*;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
#end
#parse("File Header.java")
public class ${NAME} {

     @Test
     public void testTemplate() throws Exception{
         // Arrange


        // Act


        // Assert
     }       
}

为了获得基本的单元测试导入并为您的第一次测试准备好模板。

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 2013-03-03
    • 2023-03-19
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多