当前位置:K88软件开发文章中心编程工具Gradle → 文章内容

Gradle Java 插件

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:31:36

信息。 表 23.12. Java 插件-ProcessResources 属性 任务属性 类型 默认值 srcDirs Object. sourceSet.resources destinationDir  16.1 章节,“查找文件”中所讲到的任何一种方式来设置。 sourceSet.output.resourcesDir CompileJava Java 插件为该 project 里的每个源集添加一个 JavaCompile 实例。一些最常见的配置选项如下所示。 表 23.13. Java 插件- Compile 属性 任务属性 类型 默认值 classpath FileCollection sourceSet.compileClasspath source FileTree sourceSet.java destinationDir File. sourceSet.output.classesDir compile 任务委派了 Ant 的 javac 任务。将 options.useAnt 设置为 false 将绕过 Ant 任务,而激活 Gradle 的直接编译器集成。在未来的 Gradle 版本中,将把它作为默认设置。 默认情况下,Java 编译器在 Gradle 过程中运行。将 options.fork 设置为 true 将会使编译出现在一个单独的进程中。在 Ant javac 任务中,这意味着将会为每一个 compile 任务fork 一个新的进程,而这将会使编译变慢。相反,Gradle 的直接编译器集成 (见上文) 将尽可能多地重用相同的编译器进程。在这两种情况下,使用 options.forkOptions 指定的所有fork 选项都将得到重视。 Test test 任务是 Test 的一个实例。它会自动检测和执行 test 源集中的所有单元测试。测试执行完成后,它还会生成一份报告。同时支持 JUnit 和 TestNG。可以看一看Test的完整的 API。 测试执行 测试在单独的 JVM 中执行,与 main 构建进程隔离。Test 任务的 API 可以让你控制什么时候开始。 有大量的属性用于控制测试进程的启动。这包括系统属性、 JVM 参数和使用的 Java 可执行文件。 你可以指定是否要并行运行你的测试。Gradle 通过同时运行多个测试进程来提供并行测试的执行。每个测试进程会依次执行一个单一的测试,所以你一般不需要对你的测试做任何的配置来利用这一点。 MaxParallelForks 属性指定在给定的时间可以运行的测试进程的最大数。它的默认值是 1,也就是说,不并行执行测试。 测试进程程会为其将 org.gradle.test.worker 系统属性设置为一个唯一标识符,这个标识符可以用于文件名称或其他资源标识符。 你可以指定在执行了一定数量的测试类之后,重启那个测试进程。这是一个很有用的替代方案,让你的测试进程可以有很大的堆内存。forkEvery 属性指定了要在测试进程中执行的测试类的最大数。默认是每个测试进程中执行的测试数量不限。 该任务有一个 ignoreFailures 属性,用以控制测试失败时的行为。test 会始终执行它检测到的每一个测试。如果 ignoreFailures 为 false,并且有测试不通过,那它会停止继续构建。IgnoreFailures 的默认值为 false。 testLogging 属性可以配置哪些测试事件需要记录,并且使用什么样的日志级别。默认情况下,对于每个失败的测试都只会打印一个简洁的消息。请参阅 TestLoggingContainer,查看如何把你的测试日志打印调整为你的偏好设置。 调试 test 任务提供了一个 Test.getDebug()属性,可以设置为启动,使 JVM 在执行测试之前,等待一个 debugger 连接到它的 5005 端口上。 这也可以在调用时通过--debug-vm task 选项进行启用。 测试过滤 从 Gradle 1.10 开始,可以根据测试的名称模式,只包含指定的测试。过滤,相对于测试类的包含或排除,是一个不同的机制。它将在接下来的段落中进行描述(-Dtest.single, test.include 和 friends)。后者基于文件,比如测试实现类的物理位置。file-level 的测试选择不支持的很多有趣的情况,都可以用 test-level 过滤来做到。以下这些场景中,有一些 Gradle 现在就可以处理,而有一些则将在未来得到实现: 在指定的测试的方法级别上进行过滤;执行单个测试方法 基于自定义注解(以后实现)进行过滤 基于测试层次结构进行过滤 ;执行所有继承了某一基类(以后实现) 的测试 基于一些自定义的运行时的规则进行过滤,例如某个系统属性或一些静态的特定值(以后实现) 测试过滤功能具有以下的特征: 支持完整的限定类名称或完整的限定的方法名称,例如“org.gradle.SomeTest”、“org.gradle.SomeTest.someMethod” 通配符 “*” 支付匹配任何字符 提供了“--tests”的命令行选项,以方便地设置测试过滤器。这对“单一测试方法的执行”的经典用例特别有用。当使用该命令行选项选项时,在构建脚本中声明的列入过滤器的测试将会被忽略。 Gradle 尽最大努力对有着特定的测试框架 API 的局限的测试进行过滤。一些高级的、 综合的测试可能不完全符合过滤条件。然而,绝大多数的测试和用例都会被很好地处理。 测试过滤将会取代基于文件的测试选择。后者可能在将来会被完全地取代掉。我们将会继续改进测试过滤的 API,并添加更多种类的过滤器。 在构建脚本中过滤测试 build.gradletest { filter { //include specific method in any of the tests includeTestsMatching "*UiCheck" //include all tests from package includeTestsMatching "org.gradle.internal.*" //include all integration tests includeTestsMatching "*IntegTest" }} 有关更多的详细信息和示例,请参阅 TestFilter

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页


Gradle Java 插件