在 Idea IDE 中为 Java class 创建并跳转到 Spock 单元测试

Create and jump to Spock unit test for a Java class in Idea IDE

有没有办法在 Idea IDE (it's working fine for a Groovy app) 中为用 Java 编写的应用程序创建并跳转到 Spock 单元测试?如果重要的话,该项目是基于 Maven 的。

原因:我想使用 Spock 框架来测试我的 Java 应用程序。

CTRL+SHIFT+T 是单元测试创​​建/导航的默认快捷方式(至少在 Windows 上)。它可以是 checked/changed 从 File -> Settings -> Keymap 然后在树 select Navigation -> Test (您还可以过滤键映射以更容易地找到它)

这会打开一个专用弹出窗口,您可以在其中创建新的单元测试,或跳转到现有单元测试(如果有)。

这适用于 groovy...

... 或 java

自己想出了使它起作用的步骤:

  1. 将以下插件添加到 POM 文件中:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.18.1</version>
        <configuration>
            <includes>
                <include>**/*Test.java</include>
                <include>**/*Spec.java</include>
            </includes>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.codehaus.gmavenplus</groupId>
        <artifactId>gmavenplus-plugin</artifactId>
        <version>1.5</version>
        <executions>
            <execution>
                <goals>
                    <goal>addTestSources</goal>
                    <goal>testCompile</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    
  2. 创建src/test/groovy目录

  3. 安装GMavenPlus IntelliJ Plugin
  4. 如果 Idea 仍然没有将 src/test/groovy 视为源目录,您可以从硬盘驱动器中删除所有 Idea 项目文件并再次导入您的 Maven 项目

在那之后 CTRL+SHIFT+T 将让您创建新的测试在 src/test/java(应为 JUnit 测试选择)或在 src/test/groovy(应为 Spock 测试选择)。

P.S。命令行 mvn clean test 也可以正常工作 运行 JUnit 和 Spock。