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; } }
以上就是小编今天的分享了,希望可以帮助到大家。