Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React-Typescript-Jest-意外标记,应为“;{quot;_Reactjs_Typescript_Jestjs_Enzyme - Fatal编程技术网

Reactjs React-Typescript-Jest-意外标记,应为“;{quot;

Reactjs React-Typescript-Jest-意外标记,应为“;{quot;,reactjs,typescript,jestjs,enzyme,Reactjs,Typescript,Jestjs,Enzyme,我使用React/Redux和Typescript向我的项目中添加了jest+enzyme。当我测试功能组件时,一切都很好,但在测试类组件时,我遇到了一个错误

我使用React/Redux和Typescript向我的项目中添加了jest+enzyme。当我测试功能组件时,一切都很好,但在测试类组件时,我遇到了一个错误
Unexpected token, expected "{"

class Login extends Component<LoginProps, LoginState> {
测试文件-\utests\uu/Login.Test.tsx:

import React from "react";
import ReactDOM from "react-dom";
import Login from "./../Login/Login";
import { mount, configure } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import configureMockStore from "redux-mock-store";
import { Provider } from "react-redux";

const mockStore = configureMockStore();
const store = mockStore({
  userData: {
    user: {
      id: 1,
      nick: "test",
      email: "test@test.com",
      filled_info: 1,
      country: "poland",
      age: 22,
      description: "desc",
      token: "test"
    }
  }
});

configure({ adapter: new Adapter() });

let wrapper;

beforeEach(() => {
  wrapper = mount(
    <Provider store={store}>
      <Login />
    </Provider>
  );
});

describe("<Login /> rendering", () => {
  it("render correctly", () => {
    expect(wrapper).toMatchSnapshot();
  });

});

有没有人有类似的问题,可以给我一些建议如何解决?我真的很感谢任何帮助。

您使用的是
ts jest
?您好,是的,我使用了它。您是否遵循并创建了
jest.config.js
文件?您是否在SetupTest.js导入{configure}中添加了此代码来自'enzyme';从'enzyme-Adapter-react-16'导入适配器;导入'jest-enzyme';配置({Adapter:new Adapter()});
interface LoginProps {
  handleLogin: (userCredentials: { email: string; password: string }) => {};
  userData: {
    user: {
      id: number;
      nick: string;
      email: string;
      token: string;
    };
  };
}

interface LoginState {
  email: string;
  password: string;
  redirectToFilledInfo: boolean;
  redirectToEvents: boolean;
}

export { LoginProps, LoginState };
import React from "react";
import ReactDOM from "react-dom";
import Login from "./../Login/Login";
import { mount, configure } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import configureMockStore from "redux-mock-store";
import { Provider } from "react-redux";

const mockStore = configureMockStore();
const store = mockStore({
  userData: {
    user: {
      id: 1,
      nick: "test",
      email: "test@test.com",
      filled_info: 1,
      country: "poland",
      age: 22,
      description: "desc",
      token: "test"
    }
  }
});

configure({ adapter: new Adapter() });

let wrapper;

beforeEach(() => {
  wrapper = mount(
    <Provider store={store}>
      <Login />
    </Provider>
  );
});

describe("<Login /> rendering", () => {
  it("render correctly", () => {
    expect(wrapper).toMatchSnapshot();
  });

});
{
  "compilerOptions": {
    "sourceMap": true,
    "target": "es5",
    "jsx": "react",
    "module": "es6",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "declaration": false,
    "noEmit": false,
    "noUnusedLocals": false,
    "noImplicitAny": false,
    "noImplicitReturns": false,
    "allowSyntheticDefaultImports": true,
    "removeComments": true,
    "strictNullChecks": false,
    "outDir": "build",
    "lib": ["es6", "es7", "dom"],
    "rootDir": "./resources/assets/js",
    "baseUrl": "./resources/assets/js"
  },
  "exclude": [
    "public",
    "dist",
    "build",
    "node_modules",
    "vendor",
    "scripts",
    "acceptance-tests",
    "webpack",
    "jest",
    "resources/assets/js/utils/setupTests.ts"
  ]
}