Jest无法在react app中解析项目路径

问题描述 投票:0回答:1

因此,我正在学习在我正在研究的项目中将笑话与react-testing-library一起使用。这是我正在测试的组件的代码:

//DefaultLayout.js

import React, { Component, Suspense } from 'react';
import Header from 'components/Header/Header.js'

...

然后是测试文件:

//DefaultLayout.test.js

import React from 'react'
import { render, cleanup } from "@testing-library/react"
import '@testing-library/jest-dom'
import DefaultLayout from "./DefaultLayout.js"

...

现在,当我运行npm test时,我得到了:

Test suite failed to run

    Cannot find module 'components/Header/Header.js' from 'DefaultLayout.js'

      2 | import { Redirect, Route, Switch } from 'react-router-dom';
      3 | import * as router from 'react-router-dom';
    > 4 | import Header from 'components/Header/Header.js'
        | ^

现在,要进行导入,我需要一个jsconfig.json文件,如下所示:

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "*": ["src/*"]
    }
  }
}

所有文件夹,包括components都位于src目录中。我知道jest不会导入此配置,因此我需要再次为jest进行设置。我只是不知道该怎么做。

我创建了一个jest.conf文件,但是它不起作用:

{
  "transform": {
    "^.+\\.(js|jsx)$": "<rootDir>/src"
  },
}

这是我最近的尝试。 jest.conf文件位于项目的根目录中。

任何帮助都会很棒。

reactjs jestjs react-testing-library
1个回答
0
投票

好,我知道了。

我将jest.conf文件替换为jest.config.js文件:

//jest.config.js
module.exports = {
  moduleDirectories: ["node_modules", "src"]
};

然后我只是开玩笑而已。

© www.soinside.com 2019 - 2024. All rights reserved.