第二章 个人技术与流程
1. 2.1.1用VSTS写单元测试
在该部分,举的例子是用c#写的,因为之前并没有了解这部分的内容,所以,看起书来不是很懂。希望老师在上课时能用同学们学过的Java或者c语言举例给同学们讲解一下。
2. “最好在设计的时候就写好单元测试,这样单元测试就能体现API的语义如果没有单元测试,语义的准确性就不能得到保障,以后会产生歧义。”
问题:(1)在设计的时候就写好单元测试?(2)单元测试应该写多细?
回答(1):
我查了一下资料,关于什么时候写单元测试,网上的说法主要有以下三个时间段:
a.一是在具体实现代码之前,这是测试驱动开发(TDD)所提倡的;
b.二是与具体实现代码同步进行。先写少量功能代码,紧接着写单元测试(重复这两个过程,直到完成功能代码开发);
c.三是编写完功能代码再写单元测试,这个单测逻辑就比较复杂,因为它要测的东西很多,可读性可维护性就比较差。
关于什么时候写单元测试最好,我认为在第(1)个时间段跟第(2)个时间段都可以,不知道同学们与老师的想法是什么?
回答(2):
根据我看了几篇博客,知道了单元测试不是越多越好,而是越有效越好!进一步解读就是哪些代码需要有单元测试覆盖: 逻辑复杂的、容易出错的、不易理解的(即使是自己过段时间也会遗忘的,看不懂自己的代码,单元测试代码有助于理解代码的功能和需求 )、公共代码(比如自定义的所有http请求都会经过的拦截器;工具类等)及核心业务代码(一个产品里最核心 最有业务价值的代码应该要有较高的单元测试覆盖率)。