首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查函数是否已使用真值调用(不是f.e.未定义)在Jasmine中?

如何检查函数是否已使用真值调用(不是f.e.未定义)在Jasmine中?
EN

Stack Overflow用户
提问于 2019-01-09 23:13:39
回答 1查看 113关注 0票数 0

在Jasmine中有函数.toHaveBeenCalledWith()和.toBeTruthy(),但是有没有一种方法来检查一个函数是否被调用了真值呢?

据我所知,对于.toHaveBeenCalledWith(),您必须传递一个确切值,但我只想检查是否使用真值(例如,不是未定义的或空的)调用了函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-10 14:38:01

你可以做的是在你试图测试参数的函数上设置一个间谍。然后通过间谍获得论点,例如let my arg = mySpy.calls.mostRecent().args[0];和do a simple e.g. expect(arg).toBeTruthy()

伪代码片段:

代码语言:javascript
复制
let mySpy = spyOn(myComponent, 'myFunctionToSpyOn').and.callThrough();

// do something that triggers the function call

let arg = mySpy.calls.mostRecent().args[0];
expect(arg).toBeTruthy();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54113172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档