angular - Jasmine Angular:如何为作为参数给出的匿名函数编写单元测试
问题描述
public listenCloseEvt() {
this.renderer.listen(window, 'close', () => {
this.showModal = false;
});
}
我可以,spyOn
render.listen
但我无法this.showModal
在编写单元测试时达到假线。
解决方案
如果您监视某些东西,那么该对象的实现细节就会丢失。
要获得实施,您必须callThrough()
对间谍进行原始实施。
代替:
spyOn(renderer.listen)
利用
spyOn(renderer.listen).and.callThrough()
推荐阅读
- ag-grid - api.getSelectedNodes() 不参考网格配置
- c - 如何将 .gcda 文件内容传输到另一个文件中?
- c++ - windows 使用 long int 就像在 32 位机器中一样,而在 64 位
- r - (MICE) 具有时间因素的数据集的缺失数据插补(纵向数据)
- html - 基于内容的php echo span样式颜色
- angularjs - 使用 ng-pattern 匹配密码会在 HTML 中公开密码
- css - 如何保护 React 组件免受全局样式的影响?
- linux-kernel - 如何在运行 MacOS Big Sur 的 Apple MacBook M1 上通过 Oracle VM Box 使 Linux 系统工作?
- spring - 如何正确创建具有唯一字段的 Prometheus 指标
- android - 如何在android中使用饼图在圆圈内绘制圆圈?