TDD是什么

TDD就是测试驱动开发,以测试用例为主导,去开发项目,业务代码该怎么写还是怎么写,在实现UI之前,可以先实现Test用例,通过test来实现对业务场景的模拟,最终让你的代码更稳定。

大叔认为tdd的作用

  1. 代码更稳定,bug在发布之前被暴露出来
  2. 持续集成更需要它,当你的项目通过tdd之后,就可以通过自动化工具发布了,这最起码保证了代码是没有问题的
  3. 核心模块更稳定,当你的核心模块修改或者添加新功能后,你需要写测试用例来保存你我修改和添加的模型是正确的,最起码保证了它没有修改其它的功能,因为你的代码可能被多个模块引用,而每个模块都有自己的测试用例,所以,核心模块修改后,需要为它做测试。

项目与测试项目是统一的

在springboot框架里,我们在建立一个项目后,会同时建立一个测试项目,大叔觉得,这是一个很好的设计和习惯,对于.net开发人员来说,也应该这样,在建立一个项目后,同时也写一下它的单元测试!

mongodb模块的测试

public class MongodbTest {@AutowiredMongoTemplate mongoTemplate;@Testpublic void add() {List<TaxAmountConfig.AmountConfig> amountConfigs = ImmutableList.of(TaxAmountConfig.AmountConfig.builder().rate(1).thresholdMax(5000).thresholdMin(3000).value(10).build());TaxAmountConfig taxAmountConfig = TaxAmountConfig.builder().base(3000).accountPeriod(YearMonth.of(2017, 5)).amountConfigs(amountConfigs).build();mongoTemplate.insert(taxAmountConfig);}
}

测试时带有环境属性

你的测试代码完全可以指定一种环境,如开发,生产,测试等,对哪个环境有效,可以通过@Profile来实现

@Configuration
@Profile("integTest")
public class MockClientTest {@Beanpublic MockClient mockClient() {MockClient client = mock(MockClient.class);when(client.balanceSheet(anyString())).thenReturn("OK");return client;}
}

转载于:https://www.cnblogs.com/lori/p/9578469.html

springboot~让我习惯了TDD的开发模式相关推荐

  1. 敏捷开发模式 与 TDD 的思考总结

    "你有了解哪些开发模式?" "你了解的这几种模式有哪些不同" "测试方法与目的是什么?" 带着这些问题,我们来看看Agile 中的Scrum ...

  2. 采用SpringBoot、MyBatis-Plus 、Security框架,开发的一套权限系统,实现前后端分离,完善的代码生成机制

    项目说明 harry 采用SpringBoot.MyBatis-Plus .Security框架,开发的一套权限系统,实现前后端分离,完善的代码生成机制.Harry Gitee地址 harry-vue ...

  3. SpringBoot中配置为开发模式,代码修改后不用重新运行

    场景 SpringBoot中配置为开发模式,修改代码后不用重新运行. 实现 打开pom.xml,添加依赖 <!-- 添加如下依赖,配置为开发模式,代码做了修改,不用重新运行--><! ...

  4. TDD、BDD、ATDD、DDD 软件开发模式

    四个开发模式意思: TDD:测试驱动开发(Test-Driven Development) BDD:行为驱动开发(Behavior Driven Development) ATDD:验收测试驱动开发( ...

  5. OPENAPI3.0 与 SpringBoot 开发实战: 新型高效开发模式,实现代码与API分离,高效开发,开发必看!!!

    什么是openapi 3.0 OpenAPI 3.0.0 是 OpenAPI 规范的第一个正式版本,因为它是由 SmartBear Software 捐赠给 OpenAPI Initiative,并在 ...

  6. 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java

    SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...

  7. SpringBoot对接微信小程序支付功能开发(一,下单功能)

    1,接入前准备: 接入模式选择直连模式: 申请小程序,得到APPID,并开通微信支付: 申请微信商户号,得到mchid,并绑定APPID: 配置商户API key,下载并配置商户证书,根据微信官方文档 ...

  8. SpringBoot对接微信小程序支付功能开发(二,支付回调功能)

    接着上一篇: SpringBoot对接微信小程序支付功能开发(一,下单功能) 在上一篇下单功能中我们有传支付结果回调地址. 下面是回调接口实现 package com.office.miniapp.c ...

  9. 两个读书笔记:springboot+vue.js分布式组件全栈开发训练营 + 大数据开发基础

    (springboot+vue.js分布式组件全栈开发训练营原文在notion中, 大数据开发在思维导图中, 这个博客只是保存, 无法阅读. ) what is different between s ...

最新文章

  1. 为全局变量赋值_Postman全局变量设置和运用
  2. PHP 底层的运行机制与原理 --转
  3. Android Studio Butter Knife —— 快速开发
  4. react复制内容到剪贴板
  5. vue定义一个全局价格处理函数
  6. Ciel and Robot CodeForces - 322C
  7. 10 个有关 String 的面试问题
  8. python旋转数组_Python3实现旋转数组的3种算法
  9. 判断是否是2的N次方各方法运行速度比较
  10. 2017.5.25-5.28 hide捉迷藏 失败总结
  11. 十年维护专家的“秘籍
  12. 全网最全的git命令大全
  13. session和cookie的区别和联系,session的生命周期,多个服务部署时session管理
  14. python_文件读写_提取kitti数据集中带时间戳的IMU测量数据
  15. python通达信,显示K线图
  16. vue 页面卡顿(数据量大)
  17. OpenStack | Placement组件
  18. 【Python】求笛卡尔乘积
  19. violate关键字---java高并发
  20. 无机光致变色化合物-过渡金属氧化物WO3/MoO3/TiO2

热门文章

  1. python学习_Python学习资料整理
  2. jvm 堆外内存_一图解千愁,jvm内存从来没有这么简单过!
  3. ubuntu18.04安装mysql8.0中遇到的问题及解决方法
  4. Android Studio如何创建尺寸以及API通用的模拟器
  5. linux系统下安装游戏,在Linux系统下安装GameHub来管理所有游戏
  6. 小米手机拦截返回音设置不了_小米手机用户注意了!这几个超好用的功能你没用过就太可惜了...
  7. python tkinter获取屏幕大小_使用Python构建属于自己的Markdown编辑器
  8. android 挖孔屏适配_小米公布安卓Q升级适配计划,共11款机型
  9. ggplot2 多个柱状图比较_15. 再论ggplot2作图的图形元素组成
  10. 安装完MySQL后启动报错_MySQL数据库之mysql编译安装完成后,启动时报错The server quit without updating PID file...