TSServer异步玩笑测试中的误报

时间:2020-11-05 18:39:14

标签: reactjs jestjs react-hooks react-testing-library context-api

我正在尝试做一个简单的异步测试,该测试调用一个与ContextAPI和useState方法交互的函数

以下是代码段:

  it('should append submited value to feed', async () => {
    const input = FakeElement.getByTestId('input') as HTMLInputElement
    fireEvent.change(input, { target: { value: 'testing' } })
    expect(input.value).toBe('testing')

    await feedSubmitHandler(Ev, Ref, Feed, SetFeed)
    expect(Feed.messages).toContain('testing')
  })

请明确说明: feedSubmitHandler是一种类型的函数(ev:事件,ref:React.Ref,Feed:Object,setFeed:setStateAction)=> void

此测试可完美运行,但仅在异步等待状态下才可预期。 问题是TSServer高亮显示await feedSubmitHandler...行,告诉我“等待对这种类型的表达式没有影响”

那是为什么? 如何正确设置它以便不会出现问题?

总结一下。整个问题是关于Jest,Typescript和TSServer的一些错误配置。我不想承认它不应该抱怨我正在“等待”一个在此测试场景中返回void的函数。

我考虑过可能只为测试设置另一个tsconfig.test.json文件,但我不确定如何优雅地做到这一点。

0 个答案:

没有答案