jasmine.createSpyObj() 相当于什么玩笑?

what is the equivalent of jasmine.createSpyObj() for jest?

以下代码在 Jest 中的等价物是什么。

let mockHeroService = jasmine.createSpyObj(['getHeros', 'addHero', 'deleteHero']);

我想用它作为 testBed。

TestBed.configureTestingModule({
  providers: [
    {
       provide: HeroService,
       useValue: mockHeroService         
    }
  ]
});

我的理解是,开个玩笑,你只能监视服务的一种方法,比如

const spy = jest.spyOn(HeroService, 'getHeros');

感谢您的帮助

没有等效项,因为它没有太多用处。 Jest 专注于模块化 JavaScript 并使用 jest.mockjest.createMockFromModule.

生成自动模拟(存根)

auto-mocks 的问题在于它们会导致未指定的函数集,这些函数的行为与原始函数不同,并且可能使使用它们的代码无法正常工作或静默失败。

没有实现的模拟可以定义为:

let mockHeroService = { getHeros: jest.fn(), ... };

大多数情况下,一些实施是预期的:

let mockHeroService = { getHeros: jest.fn().mockReturnValue(...), ... };