单元测试篇---风起长林
1、什么是单元测试:
个人理解是:通过代码校验功能是否正常的测试。
2、为什么需要单元测试:
- 正确性,测试可保证代码正确性;
- 解释性,有时读取测试用例更易于理解业务流程;
- 自动化,编写一次,多次运行;
- 驱动开发,指导设计:代码被测试的前提是具有可测试性,要具备可测试性,则需要注意api的设计,tdd测试思想将测试前移就是这个道理;
- 保证重构,测试用例可以帮助理清代码的业务逻辑;
3、单元测试实现原理:
- 测试框架,判断内部是否存在异常,存在则console对应的text信息;
- 断言库,当actual值与expect值不一致时,抛出异常给外部测试框架处理;
- mock函数,创建新函数,用新函数取代原函数,并添加新特性(例如called、calledWithArguments等信息);
4、如何编写测试用例:(jest为例)
写用例之前,需要了解一些jest的基础知识(传送门)。
语法:
describe("string", () => { it("string", () => { expect(2+2).toBe(4); }) })