Angular单元测试总结
一直以来都是后台写单元测试,这周初次使用前台单元测试,出错是必然的
问题
- 使用自己写的组件或者管道是报错
需要在前台单元测试spec.ts
文件中加入自己写的组件或管道,例如:
- 使用框架中自带的组件
需要在前台单元测试spec.ts
文件中加入报错信息提示的组件,例如:
[object ErrorEvent] thrown
[对象 错误事件] 被抛出
这个错误是遇到次数最多的,当时出现这个错误时和张喜硕组长研究查资料搞了大半宿也没解决,最后还是在潘老师的帮助下解决的,得知ng test
时控制台报错的哪个文件,不一定是这个文件出错,解决办法如下:
- 打开单元测试时自动弹出来浏览器的控制台
控制台中,由于http发起请求时,必然发生错误,所以有很多个错误,但是导致单元测试不通过的,只有那些
发生了异常,我们没有传入error的
找到
Uncaught
,点开HttpErrorResponse
看一下对应service
中的那个服务 - 在对应的服务中找到,找到方法(在方法名上右键
Find Usages
)看谁调用了我。 - 在订阅的时候,要加入
error
异常错误
加上之后问题解决,单元测试通过。
总结
单元测试从长期来看,可以提高代码质量,减少维护成本,降低重构难度。但是从短期来看,加大了工作量,对于进度紧张的项目中的开发人员来说,可能会成为不少的负担。
但是我这里有个疑问:
angular
单元测试都是用命令行自动生成的,测试和不测试有什么区别?感觉加了测试反而更麻烦
相关推荐
蛰脚踝的天蝎 2020-11-10
Cocolada 2020-11-12
TuxedoLinux 2020-09-11
snowphy 2020-08-19
83540690 2020-08-16
lustdevil 2020-08-03
83417807 2020-07-19
张文倩数据库学生 2020-07-19
bobljm 2020-07-07
83417807 2020-06-28
86427019 2020-06-28
86427019 2020-06-25
zhengzf0 2020-06-21
tobecrazy 2020-06-16
宿命java 2020-06-15
83417807 2020-06-15
84284855 2020-06-11