人们常说,接口使模拟和单元测试变得更加容易。接口如何帮助解决这个问题?
这是接口的本质提供许多实现,从而启用模拟.
特别是在集成测试中,您可以提供依赖系统模型的版本(例如 Web 服务)。而不是实际调用一个依赖系统甚至一个模块,或者一个复杂且难以实例化的类型, 你可以提供最简单的接口实现这将提供所需的结果为了正确完成单元测试.
在此之上,当你使用在单元测试中,实际依赖型(称之为 BigGraph)在其背后隐藏了一个复杂的对象模型,您实际上是在进行集成测试而不是单元测试。如果任何依赖类型中存在错误,您的测试很容易中断(BigGraph),不是您正在测试的类型,因此不是单元测试。使用模型可以降低这种风险正在发生。
我见过许多持续集成系统因一个错误而显示数十个错误,而实际上它们应该显示一个或最多两个错误,这都是因为过于复杂的对象模型以及错误编写的单元测试 - 没有使用模型。
如今,模拟框架比过去更加复杂(字节码修改等),因此有时并不总是需要接口甚至虚拟方法,但无畏的接口可以实现它们。
接口没有帮助如果你的对象模型过于复杂和混乱(例如,您的接口严重依赖其他类型/接口);然后实现/嘲笑这一切是一种痛苦.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)