如果有多个客户端,我正在测试GraphQL Apollo请求。
项目基于微服务架构,因此有很多客户端。
在组件中,我写道:this.apollo.use('domain_1')
,这很好!
enter link description here
但是我的问题与测试此组件有关!
就我而言,我想在domain_1
客户上测试我的请求。
当我运行测试时,这是错误:
“ TypeError:无法读取未定义的属性'查询'”
组件:
public callDummyAPI(): any {
apollo.create({
link: httpLink.create({ uri }),
cache: new InMemoryCache(),
});
return this.apollo.use('domain_1').query<QueryType>({
query: MY_QUERY,
})
.pipe(
map(result => result.data.hello)
);
}
测试组件:
it('should test search', (done) => {
const fixture = TestBed.createComponent(DummyComponent);
const component = fixture.debugElement.componentInstance;
component.callDummyAPI().subscribe(result => {
expect(result).toEqual('tetete');
done();
});
controller.expectOne('/', MY_QUERY).flush({
data : {
hello: 'tetete'
}
});
});
我不知道如何模拟Apollo的use()
函数。 Use()
未定义!!!我想通过这个测试。
有人知道要解决此问题吗? 提前非常感谢您。 值