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

spock测试

我为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

spock测试

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

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

相关文章

python 图片识别_python识别图片文字

滑稽研究所python识别图片文字哈喽&#xff0c;大家好呀&#xff0c;我是滑稽君。大家在写论文时可能经常碰到无法复制文字的文章。明明找到了需要的内容却无法直接复制使用&#xff0c;这让我们十分苦恼。那么本期滑稽君就告诉大家如何使用python识别图片中的文字。滑稽君整理…

MySQL数据库的数据类型decimal详解

大概意思是这样的&#xff1a; decimal(m,d) m是数字的最大位数&#xff0c;他的范围是从1-65&#xff1b; d是小数点后的位数&#xff0c;他的范围是0-30&#xff0c;并且不能大于m。 如果m被省略了&#xff0c;那么m的值默认为10&#xff0c; 如果d被省略了&#xff0c;那么d…

如何撰写论文

【0】README 0.1&#xff09;本内容转自一个学长的口述&#xff0c;该学长在硕士期间发表论文6篇&#xff0c;现在 某高校读博&#xff1b; 0.2&#xff09;鉴于看的人比较多&#xff0c;于今日对文本进行排版便于各位阅读&#xff08;timestamp: 1512141116&#xff09;&…

java查找链表中间元素_如何通过Java单次查找链表的中间元素

java查找链表中间元素您如何一次找到LinkedList的中间元素是一个编程问题&#xff0c;在电话采访中经常问Java和非Java程序员。 这个问题类似于检查回文或 计算阶乘 &#xff0c;有时Interviewer还会要求编写代码。 为了回答这个问题&#xff0c;候选人必须熟悉LinkedList的数…

python nums函数获取结果记录集有多少行记录_PHP mysqli_num_rows():获取查询结果的行数...

在 PHP 中&#xff0c;想要获取由 SELECT 语句查询到的结果集中有多少条数据的话&#xff0c;则需要使用 mysqli_num_rows() 函数来实现。首先我们来看一下该函数的语法结构&#xff1a;面向对象风格的写法$mysqli_result -> num_rows;其中 $mysqli_result 为使用 mysqli_qu…

Windows系统下,好用的录屏软件工具/屏幕录制工具

文章目录万兴神剪手Open Broadcaster Software&#xff08;OBS&#xff09;QQ录屏Window 10 自带的屏幕录制软件录屏王bandicam万兴神剪手 可以录制网络视频、视频教程、游戏指南、演示文稿等。除了一些需要调用显卡的游戏&#xff0c;游戏窗口画面都能录制。神剪手的后期剪辑…

What are definitions of ​Model, Inference and Algorithm and its associations ?

【1】拿初中的二元一次方程来说明&#xff1a; 1.1&#xff09;说model就好比一元二次方程&#xff0c;它是个方程模型&#xff1b;1.2&#xff09;再说inference是求解该方程的某种方法——加减消元法&#xff08;重在推理&#xff09;&#xff1b;1.3&#xff09;最后说algo…

aws ec2 选择可用区_AWS Messaging Services:选择合适的服务

aws ec2 选择可用区1. AWS消息服务 AWS Messaging服务使云中相似和不同的软件系统能够异步通信和交换信息。 这些软件系统可能不兼容且使用不同的语言&#xff0c;也可能在不同的平台上。 AWS消息传递服务具有高度可用性&#xff0c;高度可扩展性和高度可靠性。 AWS支持针对不同…

qq消息连发代码_我们用的QQ是怎样实现通讯的

聊天工具便利了我们的生活&#xff0c;我们经常使用的QQ怎样实现通讯的呢&#xff1f;首先我们需要知道网络里的两种协议&#xff0c;两种通讯协议分别为UDP和TCP通常网络之间的通讯都是由这两个协议支持的&#xff0c;这两种协议属于传输层&#xff0c;它可以传输文件。UDP&am…

产品经理十大悲催错误

文章目录错误1&#xff1a; 将用户需求混淆为产品需求错误2&#xff1a; 将老板的需求混淆为产品需求错误3&#xff1a;将发明&#xff08;invention&#xff09;混淆为创造&#xff08;innovation&#xff09;错误4&#xff1a; 以自己的需求取代用户的需求错误5&#xff1a; …

cognito_将Spring Boot应用程序与Amazon Cognito集成

cognito在本文中&#xff0c;我们将展示如何使用Spring Security 5.0中引入的OAuth 2.0客户端库 &#xff0c;在Spring Boot应用程序中为身份验证用户使用Amazon Cognito服务。 什么是AWS Cognito&#xff1f; Amazon Cognito是由AWS提供的服务&#xff0c;除了提供支持访问AW…

how to build a paper's architecture?

【0】README 0.1&#xff09; these contents below are from PhD Hongjun Wang on ML class in #9133. best regards! 0.2&#xff09; these contents below are just for reference. 【1】related to build a paper’s architecture 1.1&#xff09; problem? what’s…

python之路 mysql 博客园_Python之路(二十七):Mysql(下)

本结目录数据库操作数据表操作外键约束多表查询索引事务python连接Mysql数据库操作此操作针对windows环境下该操作再Mysql服务器启动以及客户端连接之后对数据库操作之前&#xff0c;引申一些较为听的懂的白话1、显示数据库show databases; --后面记得跟英文字符的分号show cre…

APP视觉稿该怎么切图和标注

本篇教程跟大家分享UI设计的一些知识&#xff0c;就是APP怎么切图和标注&#xff0c;还不懂的同学&#xff0c;赶紧了解一下。 首先&#xff1a;哪些东西要切出来&#xff1f; 简单来说就是代码不好实现的东西就直接切成一张图放到软件里面展示&#xff0c;例如图片&#xff…

skynet.fork_Apache Ant 1.10.6发布–用于junitlauncher的fork模式以及新的jmod和链接任务

skynet.forkApache Ant 1.10.6已于本周发布。 此版本包含许多错误修复以及一些非常令人兴奋的新功能。 完整的发行说明可在此处获得 &#xff0c;下载本身也可以在此处获得 。 在本文中&#xff0c;我将介绍该版本中引入的一些新功能。 使用junitlauncher任务在派生的JVM中运行…

使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试

0、preliminary 环境搭建 Setup development environment Download the latest version of MRUnit jar from Apache website: https://repository.apache.org/content/repositories/releases/org/apache/mrunit/mrunit/. For example if you are using the Hadoop version 1.…

python奇偶求和_python 判断奇偶并求和,运行过程有错误,希望高手给指导一下。...

问题是&#xff1a;b) Add to the condition in the while loop so that it will stop if either the user inputs a zero or the sum is larger than limit (if limit is None then ignore the second stopping condition). Do not use a break statement to implement this f…

产品经理如何进行需求管理?

文章目录交付需求第一步&#xff1a;提交需求1、流程图2、结构图3、原型图4、产品需求文档第二步&#xff1a;需求评审制定需求实施计划1、和研发确定开发计划2、和设计人员确定UI设计计划3、和运营人员确定运营计划管控需求变更1、分析需求2、分析变更的可行性3、 变更需求需求…

sap wad_使用网真和WAD热部署Kubernetes

sap wad在Kubernetes环境中测试企业应用程序时&#xff0c;更改&#xff0c;重新打包和重新部署应用程序的周转率可能会很高。 网真旨在通过将本地运行的进程代理到我们的Kubernetes集群中来缓解这种情况&#xff0c;就像本地进程是集群的一部分一样。 如果我们将这种方法与诸如…

关于产品的核心问题

文章目录交互设计产品方向产品定位产品使命产品愿景产品逻辑用户价值用户体验产品价值什么样的产品才是合格的&#xff1f;什么样的产品才是优秀的&#xff1f;产品经理关注的核心点做产品前产品经理必须明确三个问题交互设计 定义和设计系统的行为就是交互设计&#xff0c;说…