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