我有一个包含function types的界面,如下所示:
interface MyInterface {
(a: string, b: string): Promise<SomeType>;
someFunction(a: string): Promise<SomeType>;
}
假设该接口位于模块m
中。
当我使用它时,我会做类似的事情:
import MyInterface from m;
function foo() {
return MyInterface('abc', 'def');
}
我知道,如果我想测试someFunction
的调用次数,可以使用jest.spyon
,如下所示:
import MyInterface from m;
const myMock = jest.spyon(MyInterface, 'someFunction');
...
expect(myMock).toHaveBeenCalledTimes(1);
但是,如果我想知道函数类型被调用了多少次以及使用了哪些参数,应该如何测试呢?困难在于它没有名称。它就像一个匿名函数。我无法像使用someFunction
一样进行类似操作。
我应该怎么做?