Reactjs 材料UI带有反应测试库投掷警告的样式
我正在尝试使用带有React Testing Library+Jest的材质UI样式的组件运行测试。 虽然测试通过了,但它正在控制台上抛出关于with styles()的警告。 有什么想法吗 组件检查Reactjs 材料UI带有反应测试库投掷警告的样式,reactjs,jestjs,material-ui,react-testing-library,Reactjs,Jestjs,Material Ui,React Testing Library,我正在尝试使用带有React Testing Library+Jest的材质UI样式的组件运行测试。 虽然测试通过了,但它正在控制台上抛出关于with styles()的警告。 有什么想法吗 组件检查 import React from 'react'; import { Drawer, Grid, withStyles } fro
import React from 'react';
import {
Drawer,
Grid,
withStyles
} from '@material-ui/core';
import { styles } from './ComponentCheck.css';
class ComponentCheck extends React.Component {
constructor(props) {
super(props);
}
render() {
const { t, openProposalAssistant, classes, drawer, auth } = this.props;
const { proposalAssistantDrawerOpen } = drawer;
const customProps = _.omit(this.props, 'classes');
return (
<div className={classes.root}>
<div className={classes.container}>
<Drawer anchor="right" open={proposalAssistantDrawerOpen} variant="temporary">
<Grid item xs={12} className={classes.optionCards}>TEST</Grid>
</Drawer>
</div>
</div>
);
}
}
export default withStyles(styles)(ComponentCheck);
组件检查测试组件
import React from 'react';
import { cleanup, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import i18next from '../../../../config/i18next';
import componentTest from '../../../../../__mocks__/componentTest'; // Component Mock Function
import user from '../../../../../__mocks__/models/user';
import ComponentCheck from '../ComponentCheck';
import { styles } from '../ComponentCheck.css';
describe('Proposal', () => {
afterEach(cleanup);
const props = {};
it('It is rendering Component', async () => {
const { asFragment } = componentTest(ComponentCheck, route, { props, styles: styles
});
expect(asFragment).toMatchSnapshot();
});
});
import React from 'react';
import { Provider } from 'react-redux';
import { render } from '@testing-library/react';
import { MemoryRouter, Route } from 'react-router';
import MuiThemeProvider from '@material-ui/core/styles/MuiThemeProvider';
import configureStore from '../src/store/configureStore';
import muiTheme from '../src/config/muiTheme';
const store = configureStore();
const componentTest = (Component, route, props) => {
if (route) {
return render(
<Provider store={store}>
<MemoryRouter initialEntries={[route]}>
<Route path={route}>
<MuiThemeProvider theme={muiTheme}>
<Component {...props} />
</MuiThemeProvider>
</Route>
</MemoryRouter>
</Provider>
);
}
return render(
<Provider store={store}>
<MuiThemeProvider theme={muiTheme}>
<Component {...props} />
</MuiThemeProvider>
</Provider>
);
};
export default componentTest;
组件测试
import React from 'react';
import { cleanup, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import i18next from '../../../../config/i18next';
import componentTest from '../../../../../__mocks__/componentTest'; // Component Mock Function
import user from '../../../../../__mocks__/models/user';
import ComponentCheck from '../ComponentCheck';
import { styles } from '../ComponentCheck.css';
describe('Proposal', () => {
afterEach(cleanup);
const props = {};
it('It is rendering Component', async () => {
const { asFragment } = componentTest(ComponentCheck, route, { props, styles: styles
});
expect(asFragment).toMatchSnapshot();
});
});
import React from 'react';
import { Provider } from 'react-redux';
import { render } from '@testing-library/react';
import { MemoryRouter, Route } from 'react-router';
import MuiThemeProvider from '@material-ui/core/styles/MuiThemeProvider';
import configureStore from '../src/store/configureStore';
import muiTheme from '../src/config/muiTheme';
const store = configureStore();
const componentTest = (Component, route, props) => {
if (route) {
return render(
<Provider store={store}>
<MemoryRouter initialEntries={[route]}>
<Route path={route}>
<MuiThemeProvider theme={muiTheme}>
<Component {...props} />
</MuiThemeProvider>
</Route>
</MemoryRouter>
</Provider>
);
}
return render(
<Provider store={store}>
<MuiThemeProvider theme={muiTheme}>
<Component {...props} />
</MuiThemeProvider>
</Provider>
);
};
export default componentTest;
从“React”导入React;
从'react redux'导入{Provider};
从'@testing library/react'导入{render};
从“react路由器”导入{MemoryRouter,Route};
从“@material ui/core/styles/MuiThemeProvider”导入MuiThemeProvider;
从“../src/store/configureStore”导入configureStore;
从“../src/config/muiTheme”导入muiTheme;
const store=configureStore();
常量组件测试=(组件、路线、道具)=>{
如果(路线){
返回渲染(
);
}
返回渲染(
);
};
导出默认组件测试;
警告如下:
警告:Material UI:提供给withStyles()的第一个参数无效。您需要提供生成样式或样式对象的函数
console.error节点_modules/warning/warning.js:34 warning:Material UI:提供给with styles()的第一个参数无效。您需要提供生成样式或样式对象的函数。请显示
ComponentCheck.css
的内容。另外,请在您的问题中添加警告文本(即编辑问题文本而不是添加注释)。我添加到main description.console.error节点_modules/warning/warning.js:34 warning:Material UI:提供给withStyles()的第一个参数无效。您需要提供生成样式或样式对象的函数。请显示ComponentCheck.css
的内容。另外,请在您的问题中添加警告文字(即编辑问题文字,而不是添加注释)。我已添加到主要说明中。