课程大纲
Mockito是根据MIT许可证发布的Java开源测试框架,该框架允许在自动化单元测试中创建测试双重对象(模拟对象),以实现测试驱动开发(TDD)或行为驱动开发(BDD)的目的。
如官方文档所述:“ Mockito是一个非常不错的模拟框架。 它使您可以使用简洁的API编写漂亮的测试。 Mockito不会给您带来麻烦,因为测试的可读性很强,并且会产生清晰的验证错误。”
在本课程中,您将深入了解Mockito的魔力。 您将了解有关“模拟”,“间谍”和“部分模拟”的信息,以及它们相应的存根行为。 您还将看到使用测试双打和对象匹配器进行验证的过程。
最后,讨论了使用Mockito的测试驱动开发(TDD),以了解该库如何适合TDD的概念。
关于作者
Hugh是位于爱尔兰戈尔韦的高级软件工程师和认证Scrum大师。 他获得了理学学士学位。 2002年获得沃特福德理工学院应用计算专业的博士学位,从那时起一直从事工业研究。 他曾在纳斯达克和纽约证券交易所上市的几家大型蓝筹软件公司工作。 他的主要兴趣领域包括Core Java,JEE,Spring,Design Patterns,TDD,Maven和Agile Software Development。
经验教训
在本课程中,您将开始使用Mockito。 您将学习为什么以及何时使用Mocks,以及如何执行Mockito,存根和验证这两个阶段。 然后,您将看到如何将Mockito集成到您的项目中以及一些最佳实践。
现在,我们准备进入有关模拟,存根和间谍的更多详细信息。 我们将深入研究使用Mockito对类和接口进行存根,并且还将讨论对void方法进行存根和对返回值进行存根。 最后,我们将讨论参数匹配器和间谍程序以及部分存根。
验证是确认模拟行为的过程。 这对于确定我们正在测试的类是否已按预期方式与其任何依赖项进行交互非常有用。 我们将在Mockito的验证阶段中进行详细研究,并探讨可立即验证行为,创建自己的验证模式以及使用Argument Captors对数据进行更复杂的断言的方法。
Hamcrest是用于创建匹配对象的框架。 这些匹配器对象是谓词,用于编写在某些条件下可以满足的规则。 在本教程中,我们将研究Hamcrest Matcher库以及如何将其与JUnit和Mockito集成。
我们会不时遇到Matchers Hamcrest库的限制。 在本教程中,我们将使用Hamcrest提供的工具为各种情况创建匹配器。 我们将使用Hamcrest API创建我们自己的自定义匹配器,以扩展Hamcrest提供的“开箱即用”功能。
请确保转发此消息,让您的社交粉丝知道!
#Mockito教程:测试和嘲讽用的Mockito https://t.co/zhgvDeuYVI pic.twitter.com/gr2uDmmD4V
— Java Code Geeks(@javacodegeeks) ,2015年11月15日
翻译自: https://www.javacodegeeks.com/2015/11/testing-with-mockito.html