Dav*_*d M 3 mocking reactjs graphql enzyme react-apollo
我正在尝试测试使用graphql的组件,但是当使用Apollo的MockProvider时,我始终无法获取数据,它每次都说loading = true。
一个完整的,极简的示例在这里
我尝试过的事情:
export function Component
)时尝试导出没有graphql的组件,但是在测试嵌套组件时不起作用小智 8
是的,我也遇到了这个问题。有趣的是,如果我将控制台日志添加到组件本身,则可以看到数据最终到达那里。但是由于某种原因,该wrapper
界面仍只包含我们的“加载中...” UI。
原来,您需要致电wrapper.update()
以获取包装器以重新呈现其内容。
这是对我有用的方法,但似乎不理想,因此,如果其他人有解决方法,请告诉我!现在,我们的测试如下所示:
it('should render the HeroDiv if there is guide data', async () => {
const wrapper = mount(
<MockedProvider mocks={mocksWithGuideData} addTypename={false}>
<Hero {...props} />
</MockedProvider>
);
await wait(0);
wrapper.update();
expect(wrapper.find('HeroDiv').exists()).toBeTruthy();
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1149 次 |
最近记录: |