最近一直在给后端代码,做单元测试使用的是mocha+should,写完一次以后确实很舒服。 想给前端代码也增加单元测试。但是感觉无从下手,比如,如何检测是否绘制的对不对啊。之类的。求各位大神指点一下。或者是说有什么前端好用的测试框架求推荐
一直用 jest,检测 DOM 可以使用 Jest Snapshot ,这个适合测试组件
@justjavac 感谢,我去看看
一般前端框架都有对应的测试方法,比如React的jest,Vue的Test Util,Angular的Test Bed,可以做个参照。 但是我经常要在各种项目中来回地切换,所以很不喜欢测试方法跟框架产生较强的依赖,所以一般都是sinon+断言库+karma搞定。
比如,我有一个按钮和一个图片列表,我点击这个按钮,列表隐藏,再次点击,列表出现。那么前端一般会有一个状态(假设叫visible),测试的时候,我就会先用sinon stub出一个component对象,再调用对象上按钮绑定的事件处理函数,再对visible做断言。如果不能用sinon stub出这个component对象,那就用它推荐的方式来stub,这一步不难,后边儿的都一样。
再比如,这个列表为空时不渲染,也是通过控制这个列表状态的空/不空,再对visible变量做断言,总之就是,第一步stub组件对象,第二步控制变量,第三部做断言。这样一来是不是就和后端的纯逻辑测试很像了?