0

我正在使用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构造函数注入的,并且没有明确列为组件的提供者。

4

0 回答 0