java mockito

作者:原创时间:2022-04-06
文档

java mockito是什么,让我们一起了解一下?

Mockito是一个强大的用于Java开发的模拟测试框架,通过Mockito可以创建和配置Mock对象,进而简化有外部依赖的类的测试。就是创建外部依赖的Mock对象,然后将此Mock对象注入到测试类中。

使用Mock的好处是什么?

1、可以提前创建测试TDD。

这一个是更强大的好处之一。 如果您创建一个模拟器,您可以在服务创建之前编写服务测试,使您能够在开发过程中将测试添加到自动化环境中。 换句话说,Service Mocking可以让您使用测试驱动开发。

2、团队可以并行工作。

这与上述类似 为不存在的代码创建测试。 但是以前的一点是针对开发人员编写测试,这是针对测试团队的。 当您没有任何测试时,团队如何开始创建测试? 模拟它,并对模拟器进行测试! 这意味着当服务准备好进行测试时,QA团队实际上可以准备一整套测试; 我们没有停机的时候,一个队伍等待另一个完成。 这使得嘲弄的财务论据特别强。

3、可以创建概念或演示的证明。

由于Mocks可以(成本最高)能够实现成本效益,因此可以使用Mocks来创建概念证明,线框架,或作为您正在考虑构建的应用程序的演示。 这是非常强大的,为决定是否继续开发项目做出决定,但最重要的是为实际设计决策提供了良好的基础。

4、可以编写测试资源不可访问。

这是不属于实际利益类别的好处之一,而是作为救生员。 曾经想要测试或使用服务,只是被告知该服务是在防火墙后面,那个防火墙无法为您打开,或者您被授权使用该防火墙? 当你这样做时,一个MockService放置在可访问的地方,包括在你本地的电脑上,是一个救命的人。

5、模拟器可以交付给客户。

有些情况下,您无法允许访问外部来源的测试系统(如合作伙伴或客户)的原因。 这些原因可以是访问安全性,信息敏感性,或只是测试环境可能无法24/7访问的事实。 在这些情况下 您如何为您的合作伙伴或客户提供测试系统以开始开发或测试? 一个简单的解决方案是从您的网络或客户自己的网络提供一个模拟。 soapUI模拟是非常容易部署的,它可以在soapUI中运行,也可以作为.WAR文件导出,并放置在您选择的Java服务器中。

6、可以隔离系统。

有时您想测试系统的一部分,而不会影响其他系统部件。 这是因为其他系统会对测试数据增加噪音,使得从收集的数据中得出更好的结论更加困难。 使用mocks,您可以删除所有的系统,嘲笑所有系统,除了您在测试中需要确定的一个系统。 当进行嘲讽隔离时,这些嘲弄可以做得非常简单但可靠,快速,可预测。 这给您一个测试环境,您已经删除了所有随机行为,具有可重复的模式,并可以很好地监控特定系统。

示例代码如下:

package info.sanaulla.models;
import java.util.List;
/**
* Model class for the book details.
*/
public class Book {
private String isbn;
private String title;
private List authors;
private String publication;
private Integer yearOfPublication;
private Integer numberOfPages;
private String image;
public Book(String isbn,
String title,
List authors,
String publication,
Integer yearOfPublication,
Integer numberOfPages,
String image){
this.isbn = isbn;
this.title = title;
this.authors = authors;
this.publication = publication;
this.yearOfPublication = yearOfPublication;
this.numberOfPages = numberOfPages;
this.image = image;
}
public String getIsbn() {
return isbn;
}
public String getTitle() {
return title;
}
public List getAuthors() {
return authors;
}
public String getPublication() {
return publication;
}
public Integer getYearOfPublication() {
return yearOfPublication;
}
public Integer getNumberOfPages() {
return numberOfPages;
}
public String getImage() {
return image;
}
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java modelandview java module java monad java mono java mqtt java multiset java mvvm java mybatisplus java namespace java newinstance java nextint java nextline java nexus java nfs java geotools java getbytes java hashcode java hdfs java node类 java notify java mmap java mkdir java mina java mian java method java merge java memcpy java matrix java matlab java math.ceil java mapping java malloc java main java logstash java logging java localtime java locale java list.contains java list.add java linq