PIT,JUnit 5和Gradle –仅需额外的一行配置

本文介绍了如何在Gradle中仅使用一行配置实现PIT和JUnit 5的集成,特别是借助gradle-pitest-plugin 1.4.7+,减少了繁琐的样板代码,使得配置更加简洁高效。
摘要由CSDN通过智能技术生成

在Gradle(带有gradle-pitest-plugin 1.4.7+)中发现简单,经过改进的PIT和JUnit 5配置。

不可否认,如今JUnit 5越来越受欢迎。 虽然为JUnit 5提供了一个专用于PIT的插件,并且gradle-pitest-plugin支持了很多年,但是需要添加几行样板代码来实现。 最近,我有一个[问题](https://github.com/szpak/gradle-pitest-plugin/issues/177),如果可以简化的话。 我喜欢 接受挑战 :-)。

使用“ buildscript {}”的通用方法

首先,看看带有buildscrip {}代码块的通用方法,它记住了Gradle 0.x的时间:

buildscript {
   repositories {
       mavenCentral()
       gradlePluginPortal() //optionally, if any plugin is not available in Maven Central
   }
   configurations.maybeCreate('pitest')
   dependencies {
       classpath 'info.solidsoft.gradle.pitest:gradle-pitest-plugin:1.4.6'
       pitest 'org.pitest:pitest-junit5-plugin:0.12'
   }
}

apply plugin: 'java'
apply plugin: 'info.solidsoft.pitest'

pitest {
    testPlugin = 'junit5'
}

仅3条额外的行。 可接受的,但是用于插件配置的buildscript {}本身就有些冗长。

(使用较旧的gradle-pitest-plugin)

带有plugins {}的现代变体应更短:

buildscript {
   repositories {
       mavenCentral()
   }
   configurations.maybeCreate('pitest')
   dependencies {
       pitest 'org.pitest:pitest-junit5-plugin:0.12'
   }
}

plugins {
    id 'java'
    id 'info.solidsoft.pitest' version '1.4.6'
}

pitest {
    testPlugin = 'junit5'
}

不幸的是, plugin {}块的紧凑语法被浪费了,因为需要在buildscript {}块中添加gradle-pitest-plugin在运行时使用的额外依赖项pitest-junit5-plugin –额外增加10行。 十分令人失望;-)。

和gradle-pitest-plugin 1.4.7+

使用刚刚发布的gradle-pitest-plugin 1.4.7,我们可以忘记所有样板代码:

plugins {
    id 'java'
    id 'info.solidsoft.pitest' version '1.4.7'
}

pitest {
    //adds dependency to org.pitest:pitest-junit5-plugin and sets "testPlugin" to "junit5"
    junit5PluginVersion = '0.12'
}

仅一行junit5PluginVersion = '0.12' ,它在pitest-junit5-plugin在所需版本中添加了pitest-junit5-plugin依赖关系,并将junit5激活为PIT使用的testPlugin 。 看起来不是很好吗? :-)

摘要

在这篇简短的博客文章中,我介绍了如何通过仅对插件本身进行一些更改就可以简化PIT,JUnit 5和Gradle(-pitest-plugin)的配置。 感谢John Scancella提出的问题,以及我想到如何以智能方式实施它的想法。

因此,我鼓励您报告(明智的)改进建议和限制您使用的项目的想法(或者在与维护人员进行初步讨论后甚至提出更好的合并请求)。 也许它将实现(接受)以实现共同利益:-)。

翻译自: https://www.javacodegeeks.com/2020/03/pit-junit-5-and-gradle-with-just-one-extra-line-of-configuration.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值