问题描述
我使用 ngneat/spectator 进行测试,它使用茉莉花。我试图让我注入的服务伪造一个调用并返回值,但真正的服务正在被调用。
我像这样创建了工厂:
const createComponent = createComponentFactory({
component: CreateRequestComponent,detectChanges: false,mocks: [
RequestService
]
})
然后在测试中,我尝试通过模拟服务替换调用。
const requestService = spectator.inject(RequestService)
requestService.postRequest.and.callFake(() => of({id}))
当我的组件调用 postRequest
时,它没有使用假版本,而是调用了实际的 RequestService
方法。
显然,我没有正确地将事情联系起来,但是对于茉莉花和一般测试来说真的很陌生,我不确定是什么。 RequestService
是通过组件的构造函数注入的,并未明确列为组件的提供者。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)