Ric*_*d77 9 karma-jasmine jestjs
Jest 中的以下代码等效于什么?
let mockHeroService = jasmine.createSpyObj(['getHeros', 'addHero', 'deleteHero']);
Run Code Online (Sandbox Code Playgroud)
我想用它作为测试床。
TestBed.configureTestingModule({
providers: [
{
provide: HeroService,
useValue: mockHeroService
}
]
});
Run Code Online (Sandbox Code Playgroud)
我的理解是,通过玩笑,您只能监视服务的一种方法,例如
const spy = jest.spyOn(HeroService, 'getHeros');
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助
没有等效的,因为它没有太多用途。Jest 专注于模块化 JavaScript 并使用jest.mock和生成自动模拟(存根) jest.createMockFromModule。
自动模拟的问题在于,它们会产生一组未指定的函数,这些函数的行为与原始函数不同,并且可能使使用它们的代码无法正确工作或静默失败。
没有实现的模拟可以定义为:
let mockHeroService = { getHeros: jest.fn(), ... };
Run Code Online (Sandbox Code Playgroud)
大多数时候,预计会有一些实施:
let mockHeroService = { getHeros: jest.fn().mockReturnValue(...), ... };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8493 次 |
| 最近记录: |