当前位置: 首页 > 知识库问答 >
问题:

intelliJ如何将gradle任务作为测试运行

龚弘业
2023-03-14

我有一个gradle项目,其中“单元测试”和“集成测试”任务定义如下:

test {
  include '**/*Test.class'
}

task integrationTest(type: Test) {
  include '**/*IT.class'
}

我在IntelliJ中创建了一个运行配置来运行所有单元测试,如图像显示:

并对任务“integrationTest”执行了相同的操作:

IntelliJ“理解”测试任务并运行它,显示图形结果,如下图所示:

当它运行“集成测试”任务时不会发生同样的情况。结果以文本形式显示,就像我通过命令行运行任务时一样。

共有2个答案

东郭京
2023-03-14

只需将idea插件添加到gradle就可以了

plugins {
    idea
}
赏彭薄
2023-03-14

回答我自己的问题。。。据我所知,您无法让IntelliJ运行特定任务的测试,而且模式解决方案也不太好用。

因此,我发现在IntelliJ中有效分离集成测试的唯一方法是使用JUnit类别。

>

  • 创建一个接口来表示集成测试。例如:

    public interface IntegrationTest {
    }
    

    您必须使用类别注释和创建的接口注释每个集成测试类:

    import org.junit.experimental.categories.Category;
    import mycompany.mypackage.IntegrationTest;
    
    @Category(IntegrationTest.class)
    public class DbfFileProcessorIT {
        ...
    }
    

  •  类似资料:
    • 我正在使用带有sonarqube插件的Gradle并使用 然而,它调用了内置的“测试”任务,该任务运行所有类型的测试,包括目前尚未全部通过的集成测试。我希望能够指定sonarqube任务使用类似“unitTest”的任务,而不是运行所有内容的“test”任务。 团队中的其他人在IDE中运行cucumber测试,IDE也使用测试任务,因此当前当我在主“测试”任务中排除cucumber测试时,他们必须

    • 是否可以在gradle.properties文件中定义test.maxParallelForks=runtime.runtime.availableProcessors(),而不是在test任务下的每个build.gradle文件中定义它?

    • 我在build.gradle中创建了一个新的gradle任务: 哪个应该运行rerun.sh: 我使用IntelliJ作为IDE。如何运行此任务? 我尝试在zshell控制台中运行并收到此错误: gradle调用CL zsh:找不到命令:gradle 但是在 IDE 中,我一直使用 gradle,因此必须安装它。 我怎么才能解决这个问题?我的写作还好吗?

    • 我正在使用Eclipse Buildship插件在我的项目上执行Gradle任务。知道如何在运行构建任务时排除测试任务吗?在Gradle STS插件中,我曾经将程序参数更新为'-x test',它跳过了测试任务。当我在Buildship上尝试同样的方法时,得到了下面的错误。

    • 在我的多项目中,我正在根项目上运行测试任务,并期望它将在子项目上运行测试任务并生成一个测试报告。我观察到的是,它从来没有在子项目上运行测试任务。我的期望是不正确的吗?“我需要在我的gradle脚本中进行任何特殊配置吗? 请注意,我的根项目中没有测试。

    • 我有一个使用Gradle的Spring启动项目设置。我有一个文件,它描述了用于名为'dev'和'prod'的两个环境的设置。 在调用Gradle bootRun任务时,我可以使用中的以下代码将默认环境设置为'dev': 我是否可以假设tomcat会选择'prod'配置,因为如果我不重写它,这似乎是默认行为? 请指教。