本文写作背景是,我需要开发一个单元测试,能够测试到protected convertListItem方法。

我直接敲service., Visual Studio Code的代码自动完成列表里,没有出现convertListItem,因为它是protected方法。但我们要知道,因为Angular TypeScript编译后生成的是JavaScript代码,而JavaScript里是不存在protected方法概念的,因此我们可以使用第244行这种动态调用的方式,实现在运行时仍然能够执行convertListItem方法的目的。

其实有个更佳的做法,因为getData调用load, load调用convertListItem:

所以我只需要在单元测试里对getData进行测试,一样能达到测试convertListItem的效果。

更多Jerry的原创文章,尽在:“汪子熙”:

关于Angular里给Component protected方法写单元测试的技巧相关推荐

  1. 如何在Angular单元测试里,对class protected方法进行测试

    例子: 我的service class里有一个protected方法,我想在单元测试里对其进行测试: 一种思路是,可以沿用Java里测试protected方法的变通方式,即创建一个新的sub clas ...

  2. angular里的filter过滤数据传参

    在ng-repeat中使用过滤器filter ,则在filter闭包内第一个参数,就是ng-repeat中的原数组,其余参数可以在-repeat表达式中,使用filterName :param1 :p ...

  3. python scrapy框架基如何实现多线程_Python实现在线程里运行scrapy的方法

    本文实例讲述了Python实现在线程里运行scrapy的方法.分享给大家供大家参考.具体如下: 如果你希望在一个写好的程序里调用scrapy,就可以通过下面的代码,让scrapy运行在一个线程里. & ...

  4. 简历里的期望薪资应该写多少比较合适呢

    很多求职者会在简历里面写到期望薪资,但是却犹犹豫豫,不知道该写多少合适.写的高了,怕HR看到以后因为期望薪资过高而淘汰简历:写的低了,又担心自己以后面试会吃亏.那么简历里的期望薪资应该写多少比较合适呢 ...

  5. java 单元测试_android开发奇技淫巧《通过main方法,写单元测试》

    阅读本文大概需要3分钟. 假如我们在MainActivity里写一个main方法会怎么样? 这是一个有趣的问题,并且会让你惊喜. 如下代码段: import 看看 androidstudio 于是我们 ...

  6. php写动物的属性,写动物作文技巧与方法

    一.描写外形样子和活动情况 描写一种动物,首先要描写它的外形样子,要仔细看它的头部.尾部.毛色.四肢是什么样的,形状.特点.颜色是什么样的. 然后再看它的生活习性又是什么样的,动物怎样吃食,怎样游戏, ...

  7. 关于Java里面的String.getBytes()方法

    关于Java里面的String.getBytes()方法 Java里面的String类型的编码方式是Unicode,根据你项目字符串的编码方式无关,这是写死的.但是如果你jvm平台使用的是GBK编码方 ...

  8. Yii2 用Html助手类和普通方法写一个删除按钮

    1.用Html助手类写一个删除按钮 <?php if($model->user_id==Yii::$app->user->identity->id):?><? ...

  9. 要在 create-react-app 脚手架里使用 less 的方法

    要在 create-react-app 脚手架里使用 less 的方法: 在 powershell 里暴露脚手架配置 yarn eject 在暴露的 config 文件里面打开 webpack.con ...

最新文章

  1. 时间序列数据库——索引用ES、聚合分析时加载数据用什么?docvalues的列存储貌似更优优势一些...
  2. All in one TFS 项目建立
  3. java旋转爱心_p5.js临摹旋转爱心
  4. Java中byte[]与十六进制之间的转化
  5. CSS实现的阴影效果
  6. css 一侧是三角形的矩形_5种具有CSS形状和滤镜的精美图像效果
  7. Spring JDBC和JdbcTemplate CRUD与DataSource示例
  8. python实时读plc数据_python snap7读写西门子S系列PLC寄存器的值(PLC的I、Q、M、DB区)...
  9. 结合webpack配置_呕心沥血编写的webpack多入口零基础配置 【建议收藏】
  10. 10.生命周期和Zend引擎
  11. 雅虎助手,thanks
  12. 2021年4月-(计算机网络)小型校园网络模拟搭建,最全最准确版!!!!!
  13. 2017 ACM-CCPC 秦皇岛站 总结
  14. 小赛毛游C记——分支和循环语句(1)
  15. Microsoft Visual C++ 6.0预处理器参考手册
  16. 电竞Dota2数据API接口 - 【联赛列表】API调用示例代码
  17. cocos2dx使用TiledMap模拟3D地图场景----斜45度2D地图的靠墙直线移动
  18. Java 基础核心知识
  19. 超乎认知 认知智能十大黑科技 我国首次对外公布 道翰天琼认知智能
  20. 每当此时的FreeEIM

热门文章

  1. C#读书笔记:线程,任务和同步
  2. WCF 非http寄宿IIS
  3. Exchange端口列表
  4. [24]CSS3 弹性伸缩布局(上)
  5. Hibernate连接mysql数据库并自动创建表
  6. sysdig案例分析 - 哪些文件正在被进程访问
  7. 为什么计算机专业学生要学Linux系统?
  8. (转载)NET面向上下文、AOP架构模式(实现)
  9. 035-OpenStack 关闭安全组
  10. flask-session 在redis中存储session