【发布时间】:2018-03-23 01:44:50
【问题描述】:
我正在尝试将jest 快照测试引入我的应用程序。
登录表单组件
render() {
return (
...
<DynamicSnack
dialogOpen={this.props.dialogOpen}
snackOpen={this.props.snackOpen}
snackTimer={this.props.snackTimer}
snackMessage={this.props.snackMessage}
/>
)
}
DynamicSnack组件
import Snackbar from 'material-ui/Snackbar';
render() {
let { snackOpen, snackTimer, snackMessage } = this.props
return (
<Snackbar
open={snackOpen}
message={snackMessage}
autoHideDuration={snackTimer}
onRequestClose={this.closeSnack}
/>
)
}
LoginForm.spec.js
import React from 'react'
import renderer from 'react-test-renderer'
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import LoginForm from '../../app/components/loginComponents/loginForm'
describe('LoginForm', () => {
it('should render snapshot', () => {
const component = renderer.create(
<MuiThemeProvider>
<LoginForm />
</MuiThemeProvider>
)
const tree = component.toJSON()
expect(tree).toMatchSnapshot()
})
})
警告:
警告:失败的道具类型:道具
message在Snackbar中标记为必填,但其值为undefined。
警告:失败的道具类型:道具open在Snackbar中标记为必填,但其值为undefined。
我尝试直接导入 DynamicSnack 组件甚至 Snackbar 并手动添加属性 open={false} message={'w00f'} 但没有任何变化。
我是单元测试新手,并尝试从学习jest 开始。
我怎样才能摆脱这些警告?
【问题讨论】:
标签: javascript reactjs unit-testing material-ui jestjs