有办法用 jasmine.createSpyObj 来调用吗?

There is a way to callThrough with jasmine.createSpyObj?

如何将 callThrough 与 jasmine.createSpyObj 一起使用,以及如何将对象与方法 returns 一起使用?

下面的例子不起作用。

const exampleSpy = jasmine.createSpyObj('ExampleSpy', {
        method1: () => Promise.resolve(true),
        method2: () => 'testResult'
});
exampleSpy.and.callThrough();

const res = exampleSpy.method2();
expect(res).toBe('testResult');

问题是定义间谍的方式。 阅读 jasmine.createSpyObject 部分中的 jasmine docs 我发现了如何正确创建间谍。

const exampleSpy = jasmine.createSpyObj('ExampleSpy', {
        method1: Promise.resolve(true),
        method2: 'testResult'
});

const res = exampleSpy.method2();
expect(res).toBe('testResult');

对象可能是这样的 {key: returnValue }

不喜欢 {key: ()=> returnValue}