0

所以我用umi开始了一个项目

yarn create @umijs/umi-app

但是我在尝试测试时遇到错误

    Cannot find module '@/components/sensor-list' from 'src/pages/index/index.tsx'

    Require stack:
      src/pages/index/index.tsx
      src/pages/index/index.test.tsx

      4 | const { Title } = Typography;
      5 |
    > 6 | import SensorList from '@/components/sensor-list';
        | ^
      7 | import SensorModal from '@/components/sensor-modal';
      8 |
      9 | import styles from './index.less';

      at Resolver.resolveModule (node_modules/jest-runtime/node_modules/jest-resolve/build/index.js:306:11)
      at Object.<anonymous> (src/pages/index/index.tsx:6:1)

该应用程序运行正常,但不知何故 umi-test 无法处理导入。

测试是:

import React from "react";
import * as reactRedux from 'react-redux'
import { render, unmountComponentAtNode } from "react-dom";
import Index from './index';

let container = null;
beforeEach(() => {
    // setup a DOM element as a render target
    container = document.createElement("div");
    document.body.appendChild(container);
});

afterEach(() => {
    // cleanup on exiting
    unmountComponentAtNode(container);
    container.remove();
    container = null;
});

it('loads data on init', () => {
    const useSelectorMock = jest.spyOn(reactRedux, 'useSelector')
    useSelectorMock.mockReturnValue(
        [{ "id": 1, "created_at": "2021-10-24T21:11:11.430287Z", "updated_at": "2021-10-24T21:11:11.430331Z", "deleted_at": null, "name": "test1", "img_path": "default.png" }]
    )
    const useDispatchMock = jest.spyOn(reactRedux, 'useDispatch')
    render(<Index />, container);
    expect(container.textContent).toBe("Page index[{\"id\":1,\"created_at\":\"2021-10-24T21:11:11.430287Z\",\"updated_at\":\"2021-10-24T21:11:11.430331Z\",\"deleted_at\":null,\"name\":\"test1\",\"img_path\":\"default.png\"}]");
});

有谁知道是什么原因造成的或任何解决方法?

4

0 回答 0