如果使用 react with typescript,我可以将 tsx 扩展名用于测试文件吗

San*_*osh 5 typescript reactjs jestjs redux

我在 react redux 中使用 typescript 有一个 react 应用程序。我正在使用 jest 编写测试。根据惯例,我对测试文件的扩展名应该是什么感到困惑。无论是 js/ts 还是 tsx。

任何线索将不胜感激。

Sha*_*tin 4

tsx如果将 React 与 TypeScript 结合使用,我可以使用测试文件的扩展名吗?

是的。如果将 React 与 TypeScript 结合使用,您可以使用*.tsx测试文件的扩展名。

任何线索将不胜感激。

使用 TypeScript设置的方法有多种jest。例如,尝试从终端运行此脚本:

npx create-react-app my-app --typescript
cd my-app
npm run eject
Run Code Online (Sandbox Code Playgroud)

这将生成一个配置为使用*.tsx扩展运行测试的项目。您可以在文件中查看其jest配置src/package.json以及文件中的示例测试src/App.test.tsx。后者看起来像这样:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

it('renders without crashing', () => {
  const div = document.createElement('div');
  ReactDOM.render(<App />, div);
  ReactDOM.unmountComponentAtNode(div);
});
Run Code Online (Sandbox Code Playgroud)