k66 pit计时功能配置_PIT,JUnit 5和Gradle –仅需额外的一行配置

k66 pit计时功能配置

在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 {}块中添加运行时pitest-junit5-plugin使用的额外依赖项pitest-junit5-plugingradle-pitest-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

k66 pit计时功能配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tomcat(7)日志记录器

【0】README0.1)本文部分文字描述转自:“深入剖析tomcat”,旨在学习 “tomcat的日志记录器” 的基础知识;0.2)intro to 日志记录器:日志记录器是用来记录消息的组件;0.3)for complet…

漫画算法:最小栈的实现

转载自 玻璃猫 程序员小灰 小灰回忆起当时的情景…… 题目:实现一个栈,带有出栈(pop),入栈(push),取最小元素(getMin)三个方法。要保证这三个方法的时间复杂度…

oidc auth2.0_将Auth0 OIDC(OAUTH 2)与授权(组和角色)集成

oidc auth2.0如果您正在使用Auth0对多个现有应用程序中的用户进行身份验证和授权,则可能需要将下一个Web应用程序与Auth0集成。 有多种方法可以执行此操作,例如,如果要将Jenkins与Auth0集成,则可以使用SAML v2;否则&a…

follow 开源项目关于NoClassDefFoundError错误的解决方法

【0】README0.1)本文旨在po出当我们follow open projects 的时候,遇到一些在open API中不存在(NoClassDefFoundError)的类时的解决方法;【1】problemsolution:1.1)problem:一般case下…

camel apache_如何使用Apache Camel,Quarkus和GraalVM快速运行100个骆驼

camel apache今天,我继续在youtube上练习,并录制了10分钟的视频,介绍了如何创建一个新的Camel and Quarkus项目,该项目包括Rest和HTTP服务以及开箱即用的健康检查和指标。 然后比较在JVM模式下运行示例与使用GraalVM编译的本机的…

漫画算法:找出缺失的整数

转载自 玻璃猫 程序员小灰 小灰一边回忆一边讲述起当时面试的情景...... 题目:一个无序数组里有99个不重复正整数,范围从1到100,唯独缺少一个整数。如何找出这个缺失的整数? 解法一: 创建一个HashMap,以1到…

tomcat(8)载入器

【0】README0.0)本文部分描述转自“深入剖析tomcat”,旨在学习 tomcat(8)载入器 的基础知识;0.1)一个标准web 应用程序中的载入器:简单来说就是 tomcat中的载入器;0.2)servlet容器需要实现一个自…

micrometer_具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC

micrometer在上一个博客中,我们使用由InfluxDB支持的Micrometer设置了React式应用程序。 在本教程中,我们将使用传统的带有JDBC的基于Servlet的阻塞Spring堆栈。 我选择的数据库是postgresql。 我将使用与先前博客文章相同的脚本。 因此,我…

漫画算法:辗转相除法是什么鬼

转载自 玻璃猫 程序员小灰 大四毕业前夕,计算机学院的小灰又一次顶着炎炎烈日, 去某IT公司面试研发工程师岗位…… 半小时后,公司会议室,面试开始…… 小灰奋笔疾书,五分钟后…… 小灰的思路十分简单。他使用暴力…

tomcat(9)Session管理

【0】README0.0)本文部分描述转自“深入剖析tomcat”,旨在学习“tomcat-Session管理” 的基础知识;0.1)Catalina通过一个称为Session 管理器的组件来管理建立的Session对象,该组件由org.apache.catalina.Manager接口来…

micrometer_具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB

micrometer自从我们添加了基本应用程序以来,是时候启动InfluxDB实例了。 我们将按照之前的教程进行操作,并添加一个docker实例。 docker run –rm -p 8086:8086 –name influxdb-本地influxdb 是时候在我们的pom上添加微米InfluxDB依赖项了…

漫画:什么是volatile关键字?(整合版)

转载自 永远爱大家的 程序员小灰 ————— 第二天 ————— ———————————— Java内存模型简称JMM(Java Memory Model),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让j…

tomcat(supplement)HttpConnector.initialize() 和 start() 方法 以及 StandardContext.start()方法的分析

【0】README 0.0)本文中源代码的背景,参见 tomcat(9)session管理 0.1)本文主要以图片的形式分析他们大致的调用过程; 0.2)HttpConnector org.apache.catalina.connector.http.HttpConnector; 而StandardContext o…

restful rest_HATEOAS的RESTful服务。 超媒体:REST的秘密要素

restful rest在这篇文章中,我们将介绍有关HATEOAS的RESTful服务的综合文章。 超媒体是REST的秘密成分。 1.简介 在本教程的前一部分中,我们花了一些时间来刷新有关REST体系结构样式的基本原理的知识。 业界对REST状态的批判性眼光揭示了一个令人失望的…

漫画:什么是单例设计模式

转载自 永远爱大家的 程序员小灰 ————— 第二天 ————— 单例模式第一版: 1234567891011public class Singleton {private Singleton() {} //私有构造函数private static Singleton instance null; //单例对象//静态工厂方法public static Singleton ge…

如何在工作繁重、睡眠较少的情况下保持旺盛精力?

作者:陈炬 链接:https://www.zhihu.com/question/23177623/answer/47785761 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 本人也在创业,结合《精力管理》一书,说说我…

mockito接口没法赋值_Mockito:无法实例化@InjectMocks字段:类型是接口

mockito接口没法赋值使用Mockito进行Java类的模拟和存根的任何人,可能都熟悉InjectMocks -annotation。 在要测试的类上使用此批注,Mockito将尝试通过构造函数注入,setter注入或属性注入来注入模拟。 魔术成功了,它无声地失败了&a…

tomcat(10)安全性

【0】README0.0)本文部分描述转自“深入剖析tomcat”,旨在学习 tomcat(10)安全性 的基本知识;0.1)servlet技术支持通过配置部署描述器(web.xml)文件来对这些内容进行访问控制;(干货—…

SonarQube 8.3.x中的Maven项目的测试覆盖率报告

几年前,我写了一篇博客文章,介绍如何在SonarQube中生成测试报告,该报告独立于单元测试和集成测试的测试报告中。 从SonarQube 6.2开始,测试报告不再在这些类别中分开(请参阅SonarQube的博客文章 )。 SonarQ…

单例模式懒汉、饿汉和登记

转载自 JAVA设计模式之单例模式本文继续介绍23种设计模式系列之单例模式。 概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点…