gpt4 book ai didi

jasmine - 是否可以将 Jasmine 的 toHaveBeenCalledWith 匹配器与正则表达式一起使用?

转载 作者:行者123 更新时间:2023-12-03 05:40:06 26 4
gpt4 key购买 nike

我已经审阅了 Jasmine 的 toHaveBeenCalledWith 文档匹配器,以便了解是否可以传入参数的正则表达式(如果该参数预期为字符串)。不幸的是,这是不受支持的功能。还有一个issue open on github请求此功能。

我对代码库进行了一些研究,我发现如何在 existing matcher 中实现它。我认为将其实现为单独的匹配器会更合适,以便单独捕获抽象。

与此同时,什么可能是一个好的解决方法?

最佳答案

经过一番挖掘,我发现 Jasmine spy对象有一个 calls 属性,该属性又具有 mostRecent()功能。该函数还有一个子属性args,它返回一个调用参数数组。

因此,当想要检查字符串参数是否与特定正则表达式匹配时,可以使用以下序列对调用参数执行正则表达式匹配:

var mySpy = jasmine.createSpy('foo');
mySpy("bar", "baz");
expect(mySpy.calls.mostRecent().args[0]).toMatch(/bar/);
expect(mySpy.calls.mostRecent().args[1]).toMatch(/baz/);

非常简单。

关于jasmine - 是否可以将 Jasmine 的 toHaveBeenCalledWith 匹配器与正则表达式一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14841115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com