我正在使用ngneat/spectator进行测试,它使用 jasmine。我试图让我注入的服务伪造一个调用和返回值,但真正的服务被调用了。
我像这样创建了工厂:
const createComponent = createComponentFactory({
component: CreateRequestComponent,
detectChanges: false,
mocks: [
RequestService
]
})
然后在测试中,我尝试通过模拟服务替换调用。
const requestService = spectator.inject(RequestService)
requestService.postRequest.and.callFake(() => of({id}))
当我的组件调用postRequest
它不是使用假版本时,它调用的是实际RequestService
方法。
显然,我没有正确地将事情联系起来,但是对于茉莉花和一般测试来说真的很陌生,我不确定是什么。是通过组件的RequestService
构造函数注入的,并且没有明确列为组件的提供者。