如何使用打字稿为反应测试库设置智能感知

Posted

技术标签:

【中文标题】如何使用打字稿为反应测试库设置智能感知【英文标题】:How to set intellisense for react testing library using typescript 【发布时间】:2020-11-03 05:35:58 【问题描述】:

我刚刚下载了使用反应测试库的 Create-React-App。当我使用它的方法时,我没有得到智能感知(例如:toBeInTheDocument)。如何设置智能感知?我们有 RTL 的类型定义吗?

import React from 'react';
import  render  from '@testing-library/react';
import App from './App';

test('renders learn react link', () => 
  const  getByText  = render(<App />);
  const linkElement = getByText(/learn react/i);
  expect(linkElement).toBeInTheDocument();
);

【问题讨论】:

你的意思是intellisense?这有帮助吗? code.visualstudio.com/docs/editor/… 不,这不是关于 VScode,而是关于与 jest 相关的类型,它们工作正常,但没有为它们显示智能感知。 是的,vscode 需要类型定义。抱歉,我的意思是提到 jest 的类型,并且还包括一个指向 jest 的链接以扩展匹配器,因为我找不到与更新 vscode 类型相关的任何内容。 jestjs.io/docs/en/expect#expectextendmatchers 扩展 jest 没有或没有更新 vscode 中的智能感知,所以也许也不是正确的解决方案。 @DrewReese ,那么如何使这项工作。有什么配置步骤吗?我希望显示智能感知,并且在“转到定义”上它必须跳转到定义。仅供参考:我在上面的问题中添加了一个新的屏幕截图。 纱线添加 -D @testing-library/jest-dom 【参考方案1】:

你需要导入'@testing-library/jest-dom'

【讨论】:

以上是关于如何使用打字稿为反应测试库设置智能感知的主要内容,如果未能解决你的问题,请参考以下文章

如何让 VS Code 智能感知在多个 node_modules 文件夹中搜索打字稿

使用数组减少打字稿为累加器提供类型

如何设置 VSCode 以内联显示打字稿错误

如何使用打字稿中的反应钩子设置graphql数据?

禁用 VSCODE 中默认打字稿库的智能感知

打字稿为“对象”分配特定类型而不是“任何”