23|DI Container(11):如何对ContainerTest进行文档化改造?

2022-05-03 徐昊
《徐昊 · TDD 项目实战 70 讲》
课程介绍


讲述:李辰洋

时长:大小1.12M


你好,我是徐昊。今天我们继续使用 TDD 的方式实现注入依赖容器。

回顾测试代码与任务列表

上节课我们专注于测试代码的重构,目前我们的测试是这样的:
InjectTest:package geektime.tdd.di;import jakarta.inject.Inject;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Nested;import org.junit.jupiter.api.Test;import java.util.Optional;import static org.junit.jupiter.api.Assertions.*;import static org.mockito.ArgumentMatchers.eq;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.when;public c...

展开全文
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。

精选留言

  • 人间四月天
    2022-05-03
    非常感谢,讲解让工程师可以写出高质量的代码,测试驱动,测试驱动设计,让中国工程师摆脱curd,容器的例子很好,需求明确,需求有复杂性,测试如何驱动功能实现,保证代码的正确性,设计的合理性。有个问题,先实现原型功能,我认为没问题,可是对于复杂需求,是不是要模块化设计一下,把职责非常明确的类和方法先设计好,然后再结合经典和伦敦两种学派,更高效?如何用老师的方法,都是发现类的职责不单一了,然后再重构,为什么不能开始就想到,设计好?例如spring容器,注册和构建组件,本身就是很复杂的,为什么最早就把构建和使用分离?

    作者回复: 重构能力越强 设计越可以后置

    共 2 条评论
    2
  • tdd学徒
    2022-05-04
    ContainerTest 文档化之后62个测试能对得上 Component应该要加下面一点修改 interface Component { default Dependency dependency() { return null; } }
    展开
    共 1 条评论
    1
  • 人间四月天
    2022-05-29
    内部类不能有静态的声明,老师为什么不报错,typebinding本身是内部类,他的成员有静态的内部类
    共 1 条评论
    
  • aoe
    2022-05-05
    收获: 经过梳理之后得到可执行的测试文档 通过抽取方法起到注释的作用
    
    
  • keep_curiosity
    2022-05-04
    Class.getMethods() 方法好像默认就包含了子类覆盖父类方法的逻辑,可以省掉自己过滤的逻辑。测试也都没问题。

    作者回复: 只对public

    
    
  • 张铁林
    2022-05-04
    23敲好的代码 https://github.com/vfbiby/tdd-di-container

    编辑回复: nice!

    共 2 条评论
    