用于混合Spock 1.x和JUnit 5测试的Maven项目设置

我为Maven创建了一个示例Groovy项目,该项目在一个项目中混合了Spock测试和JUnit 5测试。 在下一节中,我将描述如何设置这种Maven项目。

在项目中启用Groovy

首先,您必须在项目中启用Groovy。 一种可能性是将GMavenPlus插件添加到您的项目中。

 < build > < plugins > < plugin > < groupId >org.codehaus.gmavenplus</ groupId > < artifactId >gmavenplus-plugin</ artifactId > < version >1.6.2</ version > < executions > < execution > < goals > < goal >addSources</ goal > < goal >addTestSources</ goal > < goal >compile</ goal > < goal >compileTests</ goal > </ goals > </ execution > </ executions > </ plugin > </ plugins >  </ build > 

目标addSourcesaddTestSources将Groovy(测试)源添加到Maven的主要(测试)源。 默认位置是src / main / groovy (对于主源)和src / test / groovy (对于测试源)。 目标编译compileTests编译Groovy(测试)代码。 如果您没有Groovy主代码,则可以省略addSourcecompile

上面的配置始终使用最新发布的Groovy版本。 如果要确保使用特定的Groovy版本,则必须将特定的Groovy依赖项添加到类路径中。

 < dependencies > < dependency > < groupId >org.codehaus.groovy</ groupId > < artifactId >groovy</ artifactId > < version >2.5.6</ version > </ dependency > </ dependencies > 

在项目中启用JUnit 5

在项目中使用JUnit 5的最简单设置是在测试类路径中添加JUnit Jupiter依赖关系,并配置正确版本的Maven Surefire插件(至少为2.22.0版)。

 < dependencies >  <!--... maybe more dependencies --> < dependency > < groupId >org.junit.jupiter</ groupId > < artifactId >junit-jupiter</ artifactId > < scope >test</ scope > </ dependency > </ dependencies > < dependencyManagement > < dependencies > < dependency > < groupId >org.junit</ groupId > < artifactId >junit-bom</ artifactId > < version >${junit.jupiter.version}</ version > < scope >import</ scope > < type >pom</ type > </ dependency > </ dependencies > </ dependencyManagement > < build > < plugins > <!-- other plugins --> < plugin > < artifactId >maven-surefire-plugin</ artifactId > < version >2.22.1</ version > </ plugin > </ plugins > </ build > 

在项目中启用Spock

选择正确的Spock依赖项取决于您在项目中使用的Groovy版本。 在我们的例子中,是Groovy 2.5版。 因此,我们在测试类路径中需要版本1.x-groovy-2.5的Spock。

 < dependencies > <!-- more dependencies --> < dependency > < groupId >org.spockframework</ groupId > < artifactId >spock-core</ artifactId > < version >1.3-groovy-2.5</ version > < scope >test</ scope > </ dependency > </ dependencies > 

现在期望Spock测试和JUnit5测试在Maven构建中执行。 但是Maven只执行JUnit5测试。 所以发生了什么事?

我开始将Maven Surefire插件版本更改为2.21.0。 然后执行了Spock测试,但没有执行JUnit5测试。 原因是,在Maven Surefire插件的2.22.0版本中,默认情况下,JUnit Platform Provider替换了JUnit4 provider。 但是版本1.x中的Spock基于JUnit4。 这将在Spock版本2中进行更改。此版本将基于JUnit5平台。 因此,对于Spock 1.x,我们必须将JUnit Vintage依赖项添加到测试类路径中。

 < dependencies > <!-- more dependencies --> < dependency > <!--Only necessary for surefire to run spock tests during the maven build --> < groupId >org.junit.vintage</ groupId > < artifactId >junit-vintage-engine</ artifactId > < scope >test</ scope > </ dependency > </ dependencies > 

这允许在JUnit平台上运行较早的JUnit(3/4)测试。 使用此配置,Spock和JUnit 5测试都在Maven构建中执行。

链接

  • Groovy的示例Maven设置,包括Github上的JUnit 5和Spock
  • Maven GMaven Plus插件
  • Maven Surefire插件–使用JUnit 5平台
  • JUnit 5用户指南
  • Spock框架

翻译自: https://www.javacodegeeks.com/2019/03/maven-project-setup-mixing-spock-junit-5-tests.html

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

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

相关文章

内置单片机的433无线模块高速连传典型运用

E61是高速型 433M 无线数传模块&#xff0c;内置高性能单片机和高速无线 RF 芯片&#xff0c;UART串口透明传输&#xff0c;工作在 425~450.5MHz 频段&#xff08;默认 433MHz&#xff09;&#xff0c;发射功率最大1W。无线模块在“连续传输方式”下不限数据包的长度&#xff0…

飞畅科技-工业以太网交换机市场发展情况介绍

现如今&#xff0c;在各类工业工程中&#xff0c;我们通常会采用专用的工业以太网交换机&#xff0c;定义不同的太网帧优先等级&#xff0c;让用户所希望的信息能够以最快的速度传递出去。目前&#xff0c;我国工业以太网交换机行业整体上仍处于导入阶段&#xff0c;下游客户主…

只读副本和Spring Data第2部分:配置基础项目

在上一篇文章中&#xff0c;我们使用相同的数据设置了多个PostgreSQL实例。 我们的下一步将是使用这两个服务器来配置我们的spring项目。 如前所述&#xff0c;由于我们使用完全相同的数据库&#xff0c;因此我们将使用Spring Boot JPA帖子中的一些代码。 这将是我们的gradl…

窄带传输与LoRa扩频传输技术应用方案对比

一、窄带传输与lora模块扩频传输技术对比 上图为成都亿佰特电子科技有限公司基于AX5043https://www.ebyte.com/product-class.aspx?cid1和SX1278https://www.ebyte.com/product-class.aspx?cid1&pid182两款芯片方案研发的极具有特色的E31系列窄带无线传输模块和E32扩频无…

[渝粤教育] 新乡医学院三全学院 人体解剖学 参考 资料

教育 -人体解剖学-章节资料考试资料-新乡医学院三全学院【】 绪论单元测试 1、【单选题】下述哪一项不符合解剖学姿势 A、身体直立 B、两眼向前平视 C、上肢垂于躯干两侧 D、手掌向内侧 E、两足并立、足尖向前 参考资料【 】 2、【单选题】关于方位术语的正确描述是 A、人体仰卧…

工业以太网交换机选机攻略

工业以太网交换机是专门为满足灵活多变的工业应用需求而设计&#xff0c;提供一种高性价比工业以太网通讯解决方案。那么我们在选购工业交换机的时候该注意哪些问题呢&#xff1f;工业以太网交换机有哪些选购标准呢&#xff1f;接下来就跟随飞畅科技的小编一起来详细了解下吧&a…

[渝粤教育] 武汉理工大学 人文物理 参考 资料

教育 -人文物理-章节资料考试资料-武汉理工大学【】 第一讲测试题 1、【单选题】两种文化是指&#xff08; &#xff09;与&#xff08; &#xff09;。 A、东方文化与西方文化 B、科学文化与人文文化 C、中国文化与西方文化 D、亚洲文化与欧洲文化 参考资料【 】 2、【单选题】…

物联网助力智慧农业,农民也能成为科技工作者

北京时间8月24日&#xff0c;新电商拼多多发布了2021年第二季度财报。财报显示&#xff0c;截至2021年6月30日&#xff0c;拼多多年度活跃买家数达到8.499亿&#xff0c;作为国内最大的农产品上行平台之一&#xff0c;拼多多同时宣布将专门设立100亿元农业科技专项。 “百亿农…

您是否尝试过MicroProfile Starter?

https://start.spring.io的SPRING INITIALIZR已经存在了一段时间&#xff0c;并且是引导新的Spring Boot应用程序的最佳方法。 到目前为止&#xff0c;即使不同的供应商为其实施提供了启动器&#xff0c;也没有类似的方式来引导新的MicroProfile项目。 但是等待已经结束&#…

物联网智能垃圾管理技术中传感器与数传电台的作用

全球变暖导致气候变化&#xff0c;这促使各国政府根据联合国2030年可持续发展目标减少碳排放足迹。迫使市政当局转向智能垃圾管理技术&#xff0c;以改善垃圾回收和收集。 智能垃圾管理技术&#xff0c;这个词看起来怪怪的&#xff0c;垃圾管理如何配得上智能管理这么高大上的…

[渝粤教育] 江苏食品药品职业技术学院 酸奶及冰淇淋生产技术 参考 资料

教育 -酸奶及冰淇淋生产技术-章节资料考试资料-江苏食品药品职业技术学院【】 搅拌型酸奶学习随堂测验 1、【单选题】酸乳在贮存及销售过程中出现的胀包&#xff0c;主要是由于产气菌如&#xff08; &#xff09;、大肠杆菌等发酵所引起。 A、酵母菌 B、细菌 C、放线菌 D、致病…

工业以太网与现场总线技术各自优缺点和应用

现如今&#xff0c;随着“工业4.0”战略的展开&#xff0c;计算机技术、通讯技术、IT技术的发展已经渗入到工控领域&#xff0c;其中最主要的表现就是工业现场总线技术和工业以太网技术。其中工业现场总线技术&#xff0c;特别是以太网技术的广泛使用&#xff0c;为自动化技术带…

[渝粤教育] 江西财经大学 大学体育与健康生活 参考 资料

教育 -大学体育与健康生活-章节资料考试资料-江西财经大学【】 第一章 健康理念伴一生 1、【单选题】健康乃事一种在身体上&#xff0c;心理上和社会上的&#xff08;&#xff09;&#xff0c;而不仅仅是没有疾病和虚弱的状态。 A、完满状态 B、兴奋状态 C、激动状态 D、积极状…

无线唤醒在灌溉系统上的应用

农业是一个国家的经济命脉&#xff0c;国家的发展离不开农业的发展。我国作为农业大国之一&#xff0c;随着农业的发展&#xff0c;农业用水占比也越来越高。并且我国目前农业上的灌溉主要还是以传统的人工灌溉为主。传统的人工灌溉主要有3大缺点&#xff1a; 灌溉人工成本高&a…

工业以太网在工业控制中的运用

在工业生产中&#xff0c;随着生产规模的扩大和复杂程度的提高&#xff0c;实际应用对控制系统的要求越来越高。那么&#xff0c;工业以太网交换机在工业控制中的应用有哪些&#xff1f;接下来我们就跟随飞畅科技的小编一起来了解下吧&#xff01; 在20世纪50&#xff5e;60年…

[渝粤教育] 沈阳理工大学 电子商务基础与应用 参考 资料

教育 -电子商务基础与应用-章节资料考试资料-沈阳理工大学【】 随堂测验 1、【单选题】电子商务的核心是&#xff08; &#xff09;。 A、信息系统 B、互联网 C、人 D、物流 参考资料【 】 2、【多选题】电子商务的对象是&#xff08; &#xff09;。 A、生产 B、分配 C、交换 …

lucene索引_在崩溃或断电后测试Lucene的索引耐久性

lucene索引Lucene有用的事务功能之一是索引持久性 &#xff0c;它可以确保一旦成功调用IndexWriter.commit &#xff0c;即使操作系统或JVM崩溃或断电&#xff0c;或者您杀死-KILL JVM进程&#xff0c;重启后索引也将保持完整&#xff08;未损坏&#xff09;&#xff0c;并将反…

[渝粤教育] 浙江大学 2021秋 茶叶加工与品质管理学Ⅰ 陈萍 章节答案考试答案 浙江大学[渝粤教育]

教育 -2021秋-茶叶加工与品质管理学Ⅰ-陈萍-章节资料考试资料-浙江大学【】 第一章单元测验 1、【单选题】成品茶按照&#xff08;&#xff09;分成六大基础茶类。 A、茶叶原料 B、干燥方式 C、杀青程度 D、发酵程度 参考资料【 】 2、【单选题】下列不是描述绿茶干茶色泽的是&…

不缠电线不剥线皮接灯泡的方法

教你个好方法&#xff0c;不缠电线不剥线皮&#xff0c;带电接灯泡 需要准备快速接头&#xff0c;一边用来压接负载线&#xff0c;一边用来带电接火线或零线。 先一个接头卡住火线线压紧&#xff0c;同样的方法压接零线&#xff1b;另一边用另一种接头压紧电线&#xff0c;再…

工业以太网在工业领域的应用特点详解

工业以太网交换机专门为满足灵活多变的工业应用需求而设计&#xff0c;提供一种高性价比工业以太网通讯解决方案。那么&#xff0c;工业以太网在工业领域的应用特点有哪些呢&#xff1f;接下来我们就跟随飞畅科技的小编一起来详细了解下吧&#xff01; 一、工业以太网技术的概…