有办法用 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}
如何将 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}