首页 > 代码库 > 代码整洁之道——6、测试
代码整洁之道——6、测试
测试比发布更重要。如果你没有测试或者测试的不充分。那么你每次发布的时候都不能保证不出问题。你的团队决定测试的数量,但是拥有100%的测试覆盖度(所有的语句和分支)可以让你达到高度的自信和内心的平静。这意味着,除了有好的测试框架,你还需要使用好的覆盖率工具。
没有借口不写测试,有大量的JS测试框架,所以选择一个你们团队喜欢的。当你选择了一个测试框架后,接下来你们的目标是为每一个新的特性、模块写测试。如果你倾向于测试驱动开发,那就太好了,但是主要目标是确保发布或者重构一个新功能前,达到了测试覆盖率的目标。
一个测试一个概念(类似单一职责原则)
Bad: import assert from ‘assert‘; describe(‘MakeMomentJSGreatAgain‘, () => { it(‘handles date boundaries‘, () => { let date; date = new MakeMomentJSGreatAgain(‘1/1/2015‘); date.addDays(30); assert.equal(‘1/31/2015‘, date); date = new MakeMomentJSGreatAgain(‘2/1/2016‘); date.addDays(28); assert.equal(‘02/29/2016‘, date); date = new MakeMomentJSGreatAgain(‘2/1/2015‘); date.addDays(28); assert.equal(‘03/01/2015‘, date); }); }); Good: import assert from ‘assert‘; describe(‘MakeMomentJSGreatAgain‘, () => { it(‘handles 30-day months‘, () => { const date = new MakeMomentJSGreatAgain(‘1/1/2015‘); date.addDays(30); assert.equal(‘1/31/2015‘, date); }); it(‘handles leap year‘, () => { const date = new MakeMomentJSGreatAgain(‘2/1/2016‘); date.addDays(28); assert.equal(‘02/29/2016‘, date); }); it(‘handles non-leap year‘, () => { const date = new MakeMomentJSGreatAgain(‘2/1/2015‘); date.addDays(28); assert.equal(‘03/01/2015‘, date); }); });
代码整洁之道——6、测试
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。