技术
文章平均质量分 60
tangsfh
这个作者很懒,什么都没留下…
展开
-
TDD中单元测试测试覆盖范围问题
TDD中单元测试测试覆盖范围问题1、问题 TDD要求测试反馈速度非常快,如果不快就没有办法支持小步快走的的三个标准步骤。如果进行重量级单元测试启动本地环境连接内存数据库或者文件IO等,无法达到秒级反馈。所以只能采用测试替身(mocks或者stub)屏蔽掉被测对象的细节,那么每个单测覆盖的边界在哪里呢?2、二分法是做极端重视单元的隔离性的Mock主义者,还是做小型集成测试SUT(System Under Test)主义者?1)Mock主义者写出的单测:测试范围小;测试准确性依赖于约定;测试支持由原创 2021-06-06 11:41:58 · 523 阅读 · 1 评论 -
8张扑克牌问题
8张扑克牌问题1、问题描述有8张扑克牌,两张1,两张2,两张3,两张4。现在需要排序成一排,要求每张牌号为1的牌中间间隔1张牌,每张牌号为2的牌间隔2张牌,每张牌号为3的牌间隔3张牌,每张牌号为4的牌间隔4张牌,请问有几种放置方案?例如如下排列不符合规范,因为位置6和位置7放置的两张4中间没有间隔4张牌。位置1位置2位置3位置4位置5位置6位置7位置8121324432、分析与陈述该问题实际想问如何将8个数字进行排列,从而满足特性的间隔要求。问原创 2021-02-04 20:40:53 · 5364 阅读 · 1 评论 -
三、设计模式之适配器
三、设计模式之适配器适配器模式是使用某个实现类,实现另一种接口的行为,在工作中非常常用。常用到使用时都不知道是在用这个模式。那么接口可以适配,实体可以适配么?当然,比接口适配更常用的是实体的适配。场景你作为渠道层为客户提供REST服务,提供核心服务能力的资源是你的下游。由于各种原因,下游及你客户各报文的字段是不一样的,数据库中的命名及内容与接口也不尽相同,但大多数字段都是一样的。为了不让测试和开发犯难,开启适配之旅吧。单测当客户输入DemoDto no字段,我的业务逻辑实体MyInputBo s原创 2020-11-20 07:25:35 · 163 阅读 · 0 评论 -
Spring中使用设计模式(二、观察者模式)
Spring中使用设计模式(二、观察者模式)观察者模式是行为类模式的一种,可以解耦发布和订阅。本文结合前几天阿里的今年83行代码重构大师赛题目说明。观察者模式题目:生存舱有一个智慧农业的控制系统,该系统能根据温度、湿度、风力的变化来控制各种设备。为了让因灾害而失去家园的人们尽早地有能力自给自足,我们需要给这个系统添加新的设备。但是现在系统已经受损,无法在添加新设备时保证不影响原有功能。这个任务就交给你啦 你的任务:用观察者模式重构系统的代码,使添加新设备时不用担心影响原有功能(符合开闭原则)。pu原创 2020-11-10 13:31:13 · 342 阅读 · 0 评论 -
Spring中使用设计模式(一、策略模式)
Spring中使用设计模式(一、策略模式)前几天看到新来的同事桌上有一本设计模式的书,想起许多年前自己啃厚厚的模式时,始终昏昏欲睡,不得要领那段时光。重整思路,结合Spring,写下现在在开发中常用的设计模式使用方式。策略模式在工作中最常用的就是策略模式了,也可以说是策略模式的简化版。客户端可以决定用那种策略,调用上下文,上下文使用具体策略做具体的处理。策略模式的本质是,分离算法,选择实现。如果没有中间的上下文,用接口抽象出策略的行为,客户端调用即可。举例说明:常见的业务场景是提供给客户的接口文档原创 2020-11-10 00:18:56 · 628 阅读 · 0 评论 -
BDD工具--Concordion实战
BDD工具–Concordion实战 Concordion是一种行为驱动开发的工具。设计阶段,由需求测试开发共同完成文档的编写,开发阶段开发实现需求文档代码化。Concordion官网为https://concordion.org/。官网中官网没有给出具体的与Spring结合的例子,本篇文章重点从开发角度介绍一下Concordion与spring bootj结合实现代码化的实例。1、添加pom依赖在spring Boot 项目中引入Concordion:依赖<dependency>原创 2020-09-29 01:40:11 · 826 阅读 · 0 评论