java mockito

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

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

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

使用Mock的好处是什么?

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

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

2、团队可以并行工作。

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

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

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

java mockito

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;}}