栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

springboot~让我习惯了TDD的开发模式

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot~让我习惯了TDD的开发模式

TDD是什么

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

大叔认为tdd的作用

代码更稳定,bug在发布之前被暴露出来

持续集成更需要它,当你的项目通过tdd之后,就可以通过自动化工具发布了,这最起码保证了代码是没有问题的

核心模块更稳定,当你的核心模块修改或者添加新功能后,你需要写测试用例来保存你我修改和添加的模型是正确的,最起码保证了它没有修改其它的功能,因为你的代码可能被多个模块引用,而每个模块都有自己的测试用例,所以,核心模块修改后,需要为它做测试。

项目与测试项目是统一的

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

mongodb模块的测试

public class MongodbTest {

@Autowired

MongoTemplate mongoTemplate;

@Test

public void add() {

List 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 {

@Bean

public MockClient mockClient() {

MockClient client = mock(MockClient.class);

when(client.balanceSheet(

anyString()))

.thenReturn("OK");

return client;

}

}



作者:Java高级技术
链接:https://www.jianshu.com/p/9216c53afef5


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/235514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号