当前位置:网站首页>jasmine.any(Function) 的一个使用场景
jasmine.any(Function) 的一个使用场景
2022-08-04 15:52:00 【华为云】
显然,Web 应用中某些功能比其他功能更容易测试。 例如,可以轻松测试纯函数,因为它的返回值对于相同的参数是相同的,并且它的评估没有副作用。 另一方面,一个 UI 组件(例如日历组件)可能有多个子组件、各种输入和输出,并且依赖于外部 API。 有时,很难说测试应该有多彻底。 在某些情况下,验证 happy path 可能就足够了。 在其他情况下,当它是关键软件部分时,您可能希望检查所有边缘情况。
在各种边缘情况的测试用例编写中,就是 jasmine.any(Function) 大显身手的时候。该函数的一个使用场景:
it(`should pass parameters to the original engine instance`, () => { expect(originalEngineInstance).toHaveBeenCalledWith( mockPath, mockOptions, jasmine.any(Function) ); });语义:
originalEngineInstance 被调用时,传递的第三个参数是任意的函数,即 jasmine.any(Function) 返回的引用。
但是,这个任意的函数,不能是 mockCallback.
it(`should apply optimization wrapper`, () => { // we check, that callback is not the original one expect(originalEngineInstance).not.toHaveBeenCalledWith( mockPath, mockOptions, mockCallback ); });我们可以通过调试的方式,找到运行时第三个参数,实际是一个定义如下的函数:

而 jasmine.any(Function) 返回的引用,如下图绿色高亮区域所示:

真实被调用的 callback 是这个:

即代码228行指定的函数:

边栏推荐
- 线上一次JVM FullGC搞得整晚都没睡,彻底崩溃
- Li Mu's deep learning notes are here!
- 74行代码实现浪漫的红心下落的动画效果
- What is the difference between ITSM software and a work order system?
- 云存储硬核技术内幕——(8) 只缘身在此山中
- 弄懂#if #ifdef #if defined
- What are the useful IT asset management platforms?
- 保证通信的机制有哪些
- 大家有没有遇到过 cdc mysql to doris只能单task,看不到具体数据流。怎么回事?
- Jupyter常用操作总结(强烈建议收藏,持续更新实用操作)
猜你喜欢

Manacher(求解最长回文子串)

如何实时监控销售数据?销售看板来帮你!

【TA-霜狼_may-《百人计划》】美术2.7 Metallic 与 Speculer流程

素士科创板IPO撤单,雷军失去“电动牙刷第一股”

The electromagnetic compatibility EMC protection study notes

NFT盲盒挖矿系统dapp开发NFT链游搭建

成功 解决 @keyup.enter=“search()“ 在el-input 组件中不生效的问题

界面组件DevExpress ASP.NET Core v22.1 - 增强数据导出功能

An article to answer what is the product library of the DevOps platform

不需要服务器,教你仅用30行代码搞定实时健康码识别
随机推荐
视频字幕API接口文档
Redis持久化操作
请问一下dms的跨阿里云账户 新增实例,是不是无法新增redis ?
西安纵横资讯×JNPF:适配中国企业特色,全面集成费用管控体系
C端折戟,转战B端,联想的元宇宙梦能成吗?
2022-08-04日报:量化细胞内的信息流:机器学习时代下的研究进展
NFT盲盒挖矿系统dapp开发NFT链游搭建
【伸手党福利】投影仪初学者入门——投影亮度及幕布选择——从入门到精通
GPS satellite synchronization clock, NTP network synchronization clock, Beidou clock server (Jingzhun)
在Markdown文件中快速插入本地图片
JVM调优-GC基本原理和调优关键分析
分支控制if-else
张乐:研发效能的黄金三角及需求与敏捷协作领域的实践|直播回顾
云存储硬核技术内幕——(9) 相见时难别亦难
Typora收费?搭建VS Code MarkDown写作环境
一文详解什么是软件部署
UWP 转换 IBuffer 和其他类型
JVM Tuning-GC Fundamentals and Tuning Key Analysis
可视化大屏丑?这篇文章教你如何做美观大屏!
For循环控制