长春 网站 设计,设置网站文件夹的安全项,做推广效果哪个网站好,永兴县网站建设公司哪家好posman mocksjmock作者撰写的有关模拟框架的优秀论文 。 本文写于18年前的2004年#xff0c;但其中有许多构建可维护软件系统的技巧。 在这篇文章中#xff0c;我将重点介绍本文中的关键思想#xff0c;但建议您阅读本文以获取有关模拟和编程实践的重要思想。 模拟对象是测… posman mocks jmock作者撰写的有关模拟框架的优秀论文 。 本文写于18年前的2004年但其中有许多构建可维护软件系统的技巧。 在这篇文章中我将重点介绍本文中的关键思想但建议您阅读本文以获取有关模拟和编程实践的重要思想。 模拟对象是测试驱动开发的扩展。 当我们开始考虑首先编写测试时模拟对象可能会很有用因为它可以模拟仍未开发的零件。 认为是构建原型系统的更好方法。 模拟对象作为一种将测试与第三方库隔离的技术不太有趣。 这是关于模拟的普遍误解我已经使用模拟看到/编写了许多代码。 这确实是来自模拟框架作者的大开眼界的事实。 写作测试是设计活动 确实如此但是作为工程师我们花了很多时间放弃编写测试的最佳部分。 由测试驱动的设计还提供了有关实际问题的见解并导致了 发明因为开发人员必须认真思考问题并避免过度设计 耦合与内聚 当我们开始布线测试时它为我们做出的耦合和内聚决策提供了很好的思路。 好的软件将具有低耦合和高凝聚力。 这也导致任务的功能分解。 井设计系统的另一个好处是它没有Law_of_Demeter 这是不经意间引入系统的常见问题之一。 许多微服务都遭受这种反模式的困扰。 需要驱动的发展 由于模拟需要显式的代码/设置因此它来自测试用例的需求/需求。 您不必根据预测会在6个月后需要某些功能进行编码因此可以专注于客户需求。 测试结果产生的所有接口都狭窄且适合目的。 这种类型的开发也称为自顶向下开发。 纸报价 “”” 我们发现需求驱动型开发有助于我们专注于手头的需求并开发一致的对象。 “”” 按组成编程 测试优先方法允许您考虑组件的可组合性每件事都作为构造函数参数或方法参数传递。 一旦使用这样的设计原则构建系统就很容易测试/更换系统的一部分。 模拟对象允许考虑可组合性以便模拟系统的某些部分。 模拟测试变得太复杂 论文中的一项观察谈到了模拟测试的复杂性。 如果系统设计较弱那么模拟将很困难且很复杂。 它确实放大了问题例如耦合关注点分离。 我认为这是最好的使用模拟对象来获取设计反馈并像激励器一样使用它来使系统变得更好的方法。 不要在模拟中添加行为 根据论文我们绝不应在存根中添加行为以防万一如果您有这样做的诱惑那么这是责任错位的迹象。 如果您喜欢该职位那么您可以在Twitter上关注我以获取有关我撰写的随机内容的通知。 翻译自: https://www.javacodegeeks.com/2019/08/need-driven-software-development-using-mocks.htmlposman mocks