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


    TDD是什么

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

    大叔认为tdd的作用

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

    项目与测试项目是统一的

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

    mongodb模块的测试

    public class MongodbTest {
      @Autowired
      MongoTemplate mongoTemplate;
    
      @Test
      public 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 {
      @Bean
      public MockClient mockClient() {
        MockClient client = mock(MockClient.class);
        when(client.balanceSheet(
            anyString()))
            .thenReturn("OK");
        return client;
      }
    }
    
    
  • 相关阅读:
    网站视频播放器JCPlayer
    常用Linux命令操作
    对词法分析器的了解
    实验二简化版C语言中文理解程序文法
    词法分析
    实验三有穷自动机的构造和识别
    组合数据类型练习,综合练习
    零基础初学者学习编译原理
    用python画五星红旗
    Android环境搭建和编写helloworld
  • 原文地址:https://www.cnblogs.com/lori/p/9578469.html
Copyright © 2020-2023  润新知