5

我刚刚购买了 Intellij 的副本,我需要生成一个单元测试存根并将 junit 放在类路径中,并将测试设置为使用 junit runner 执行。在 Eclipse 中这样做很简单。

我读到的每一条指令都是这样的……

  1. 创建一个类进行测试
  2. 添加方法
  3. 创建测试源根
  4. 创建一个测试类
  5. 运行测试

但是我不想创建任何类或任何方法,直到我有一个不会编译的测试。

我想在测试中首先布局类和方法存根。一旦我对我在测试中表达的 API 感到满意,我想自动生成类和方法声明,然后从断言开始。

如何在 Intellij 中做到这一点?

4

3 回答 3

2

创建一个测试文件夹并添加一个新的测试类,例如WhateverTest.java

添加具有@Test注释的新方法。

@Test
public static void whatever() {
}

在导入所有必需的 JUnit 依赖项(以及您想要的依赖项)之后,您可以简单地告诉 intellij 在类中运行测试。我认为您无需进行任何特殊配置。

于 2013-10-17T22:07:26.263 回答
2

IntelliJ IDEA 不支持从测试类自动生成主类。它将自动从主类生成测试类和方法。所以你可以按照@yshavit 在他的评论中建议的那样做,创建一个主类骨架,然后通过Ctrl++自动生成测试ShiftT。或者当你编写测试时,保持一个界面与之同步。然后你可以从接口自动生成一个实现。

否则,如我所见,您有三个选择:

  1. 打开从测试类自动生成生产类的功能请求
  2. 编写您自己的插件来执行此操作
  3. 要求现有插件(例如Enso TDD 专注插件)的作者添加此功能。
于 2013-10-18T13:12:35.450 回答
2

您可以创建一个文件模板来添加一个存根单元测试并保持一个类似于 Eclipse 的 TTD 工作流。

  1. 在“项目”窗格中单击项目根目录。选择新建 > 编辑文件模板...
  2. 复制 Java 类模板并将名称覆盖到 JUnit 和代码到...

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

现在,当您右键单击一个包时,您可以通过选择 New > Java Class > Kind = JUnit 添加一个新的 JUnit 存根

于 2013-10-18T18:16:56.493 回答