maven mockito_如何:测试Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中的依赖项

maven mockito

对于当今的大多数Java项目而言,JUnit本身还远远不够。 您还需要一个模拟库,也许还有其他东西。 在此迷你操作指南中,我介绍了可以在新的Java项目中开始的测试依赖项。

一切都始于JUnit

Maven存储库中的junit组中有两个工件: junitjunit-dep 。 在4.9版之前,后者不包含对内联的Hamcrest的依赖。 今天,我们使用junit依赖关系如下:

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope>
</dependency>

dependency:tree产生:

[INFO] \- junit:junit:jar:4.11:test
[INFO]    \- org.hamcrest:hamcrest-core:jar:1.3:test

莫基托

我们通常需要的下一个依赖是一个模拟框架。 毫无疑问, Mockito是最受欢迎的游戏之一。 它有两个好处: mockito-allmockito-core 。 第一个是将所有依赖项内联到其中的单个jar,而后者只是Mockito。 建议将mockito-core与JUnit版本4.11一起使用。 因此,我们添加依赖项:

<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>1.9.5</version><scope>test</scope>
</dependency>

现在, dependency:tree产生:

[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] \- org.mockito:mockito-core:jar:1.9.5:test
[INFO]    \- org.objenesis:objenesis:jar:1.0:test

Hamcrest

知道mockito-core更适合于声明式依赖性管理,因此,我们将覆盖对Hamcrest和Objenesis的依赖性,如下所示:

<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope>
</dependency><dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>1.3</version><scope>test</scope>
</dependency>

有了这个,我们可以轻松地添加Hamcrest库,该库提供了一个匹配对象库,依赖项:

<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope>
</dependency><dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>1.3</version><scope>test</scope>
</dependency>

并且dependency:tree产生:

[INFO] +- junit:junit:jar:4.11:test
[INFO] +- org.mockito:mockito-core:jar:1.9.5:test
[INFO] +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] \- org.objenesis:objenesis:jar:1.3:test

断言

AssertJ – Java的流畅断言–提供了一组丰富而直观的强类型断言,可用于单元测试。 AssertJ是FEST Assert的一个分支,我前一段时间在这篇文章中写过。 那依赖性呢? 让我们来看看:

<dependency><groupId>org.assertj</groupId><artifactId>assertj-core</artifactId><version>1.5.0</version><scope>test</scope>
</dependency>

结果如下树:

[INFO] +- junit:junit:jar:4.11:test
[INFO] +- org.mockito:mockito-core:jar:1.9.5:test
[INFO] +- org.assertj:assertj-core:jar:1.5.0:test
[INFO] +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] \- org.objenesis:objenesis:jar:1.3:test

最终剪辑

完整的Maven结构如下所示:

<!-- Test -->
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope>
</dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>1.9.5</version><scope>test</scope>
</dependency>
<dependency><groupId>org.assertj</groupId><artifactId>assertj-core</artifactId><version>1.5.0</version><scope>test</scope>
</dependency>
<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope>
</dependency>
<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-library</artifactId><version>1.3</version><scope>test</scope>
</dependency>
<dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>1.3</version><scope>test</scope>
</dependency>
  • 您可以在GitHub上的unit-testing-demo项目中找到它(链接到pom.xml ),也可以尝试我的spring-mvc-quickstart-archetype (链接到pom.xml )。

参考:操作方法:在Codeleak.pl博客上,从我们的JCG合作伙伴 Rafal Borowiec中测试Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中的依赖项 。

翻译自: https://www.javacodegeeks.com/2014/03/how-to-test-dependencies-in-a-maven-project-junit-mockito-hamcrest-assertj.html

maven mockito

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

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

相关文章

控制器局域网can总线

很多的司机朋友以及工控圈的朋友都有听到过“CAN总线”一词&#xff0c;今天我们就来一起看一下CAN总线为什么这么火&#xff1f; CAN总线&#xff0c;也叫做控制器局域网总线&#xff08;Controller Area Network&#xff09;&#xff0c;是一种用于实时应用的串行通讯协议总…

交换机多少钱一个?影响工业交换机价格的因素?

工业交换机&#xff0c;即应用在工业领域的交换机。它的性能和各个安全指标要比普通&#xff08;商业&#xff09;交换机要求更稳定一些。因此&#xff0c;工业交换机的价格要比一般的交换机要稍贵一些。那一般工业交换机多少钱一个呢&#xff1f;是不是每个厂家的交换机价格都…

[渝粤教育] Huazhong University of Science and Technology Analog Electronics Technique 参考 资料

教育 -Analog Electronics Technique-章节资料考试资料-Huazhong University of Science and Technology【】 Test questions for The Ideal Operational Amplifier 1、【单选题】The two input terminals of an operational amplifier are labeled as: A、high and low B、pos…

【NBIoT无线模块DTU数传电台】串口服务器RS232/RS485端口工业路由信号传输

E840-DTU (NB-02)是为实现串口设备与网络服务器&#xff0c;通过NB网络相互传输数据而开发的产品&#xff0c;通过简单的AT指令进行设置&#xff0c;即可轻松使用本产品实现串口到网络的双向数据透明传输。 基本功能&#xff1a; 通过无线方式传输数字信号的高性能无线收发装…

使用Spring Boot 2使用OAuth2和不透明令牌进行集中授权

如果您正在寻找JWT实施&#xff0c;请点击此链接 本指南逐步介绍了使用Spring Boot 2创建集中式身份验证和授权服务器的过程&#xff0c;还将提供演示资源服务器。 如果您不熟悉OAuth2&#xff0c;建议您阅读此书。 先决条件 JDK 1.8 文本编辑器或您喜欢的IDE Maven 3.0 实…

[渝粤教育] Nanjing University of Aeronautics and Astronautics Grey Data Analysis 参考 资料

教育 -Grey Data Analysis-章节资料考试资料-Nanjing University of Aeronautics and Astronautics【】 Chapter 1 Concept and basic principle of grey system 1、【单选题】The research object of gray system theory is&#xff1a; A、A. Clear extension, clear connota…

工业级光纤收发器的“附加属性“功能介绍

工业级光纤收发器作为光电信号转换设备&#xff0c;除了其设计本身的功能外&#xff0c;还具有其他很多的拓展功能。今天飞畅科技的小编就来为大家简单介绍一下工业级光纤收发器的”附加属性“功能&#xff0c;一起来看看吧&#xff01; 工业级光纤收发器在数据传输上打破了以…

串口服务器E810-DTU实现以太网口与RS232数据透明传输

E810-DTU-V1.0是一款232转以太网的单串口服务器&#xff0c;实现了RJ45网口与RS232之间的数据透明传输。 模块搭载M0系列32位处理器&#xff0c;运行速率快&#xff0c;效率高。具备自适应网络速率(最高支持100M全双工)、TCP Server、TCP Client、UDP Server、UDP Client四种通…

[渝粤教育] Northwest AF University Crop Cultivation Science 参考 资料

教育 -Crop Cultivation Science-章节资料考试资料-Northwest A&F University【】 Chapter 1 Test 1、【单选题】The main object of crop cultivation research is (). A、Crop B、Animal C、Social D、Psychology 参考资料【 】 2、【单选题】There are some differences…

无线数传电台rs232和rs485串口接口:230M数传电台

E51-DTU-2W是一款频率230M无线数传电台( 同时具有RS232/RS485接口)&#xff0c;透明传输方式&#xff0c;工作在225~237 .6MHz频段(默认230MHz)&#xff0c;工作电压范围8V~28V。具有载波频率: 230MHz、发射功率: 33dBm、通信距离: 8.0km、接口类型: RS232/RS485、供电电压: 8~…

[渝粤教育] University of Science and Technology Beijing Discrete Mathematics 参考 资料

教育 -Discrete Mathematics-章节资料考试资料-University of Science and Technology Beijing【】 Chapter 1 unit tests 1、【单选题】Which is a proposition in the following statements? A、Please don’t copy! B、The sun is a planet. C、Can I smoke here? D、x –…

工业级光纤收发器和协议转换器有什么区别呢?

工业级光纤收发器是将光电信号进行转换的&#xff1b;而协议转化器是进行协议转换的。那么&#xff0c;工业级光纤收发器和协议转换器具体有哪些区别呢&#xff1f;接下来飞畅科技的小编就来为大家具体分析一下二者之间的区别&#xff0c;一起来看看吧&#xff01; 工业级光纤…

中继在无线通讯中的应用

无线中继&#xff0c;即中继节点在无线网络中起到中继的作用&#xff0c;能实现信号的中继和放大&#xff0c;从而延伸无线网络的覆盖范围。就中继的运行机制而言&#xff0c;中继可分为洪泛中继、定向中继。 洪泛中继&#xff0c;是指中继设备在任何时刻收到的任意数据包&…

SI4463模块配合WDS的快速上手指南

1.前言&#xff1a; Wireless Development Suite (WDS)是Silicon Labs公司提供用于ISM频段的EZRadioPRO系列配置和调试的计算机终端软件。可以使用此软件对模块的射频参数&#xff0c;寄存器配置和引脚中断进行设置。 2.SI4463概述 SI4463是Silicon Labs一款高性能的射频收发…

工业级光纤收发器入网说明

我们都知道&#xff0c;一个网络是由各种光学器件组成的&#xff0c;工业级光纤收发器就是其中的一个重要组成部分。但由于我们常使用的网线(双绞线)的最大传输距离有很大的局限性&#xff0c;一般双绞线的最大传输距离为100米。因此,当我们在布置较大的网络的时候&#xff0c;…

集成spring mvc_向Spring MVC Web应用程序添加社交登录:集成测试

集成spring mvc我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战&#xff0c;并为此提供了一种解决方案 。 尽管单元测试很有价值&#xff0c;但它并不能真正告诉我们我们的应用程序是否正常运行。 这就是为什么我们必须为此编写集成测试的原因 。 这篇…

[渝粤教育] 三江学院 财务管理 参考 资料

教育 -财务管理-章节资料考试资料-三江学院【】 财务管理及其内容——随堂测验 1、【单选题】1、公司财务经理的责任是增加&#xff08; &#xff09;。 A、公司规模 B、公司增长速度 C、经理人的能力 D、股东权益价值 参考资料【 】 2、【多选题】2、财务管理的主要内容是什么…

【工业级串口服务器E810-DTU】RS485/RS232转以太网,双向透明传输

E810-DTU-V2.0是一款RS485 & RS232转以太网的单串口服务器&#xff0c;实现了RJ45网口与RS485或者RS232之间的数据透明传输。模块搭载M0系列32位处理器&#xff0c;运行速率快&#xff0c;效率高。具备自适应网络速率(最高支持100M全双工)、TCP Server、 TCP Client、 UDP …

工业级光纤收发器一般适合哪些应用环境?

工业级光纤收发器作为一种常见转换的设备&#xff0c;它适合于很多应用场景&#xff0c;接下来飞畅科技就来为大家具体介绍一下工业级光纤收发器一般适合哪些应用环境&#xff0c;一起来看看吧&#xff01; 光纤收发器是一种用来实现光电信号转换的设施&#xff0c;它的一端是…

无线通信模块种类和优点

一、无线通信模块种类 1、无线数传模块&#xff0c;这种模块厂家已经做了单片机&#xff0c;并且写好了无线通信部分的程序&#xff0c;可直接通过串口收发数据&#xff0c;使用简单&#xff0c;当相对来说成本也比较高。 2、无线收发模块&#xff0c;一般要通过单片机控制无…