Reactjs find()的酶测试错误
我尝试在我的组件中找到并测试MUI组件,并收到错误 在每个“hook for”应该呈现之前: 不变冲突:对象作为React子对象无效(找到:具有键{props}的对象)。如果要呈现子对象集合,请改用数组,或使用React附加组件中的createFragment(object)包装对象Reactjs find()的酶测试错误,reactjs,mocha.js,chai,material-ui,enzyme,Reactjs,Mocha.js,Chai,Material Ui,Enzyme,我尝试在我的组件中找到并测试MUI组件,并收到错误 在每个“hook for”应该呈现之前: 不变冲突:对象作为React子对象无效(找到:具有键{props}的对象)。如果要呈现子对象集合,请改用数组,或使用React附加组件中的createFragment(object)包装对象 import FloatingActionButton from 'material-ui/FloatingActionButton' import IconButton from '../../src/Icon
import FloatingActionButton from 'material-ui/FloatingActionButton'
import IconButton from '../../src/IconButton'
describe.only('<IconButton/>', () => {
let iconButton, props
beforeEach(() => {
iconButton = shallow(<IconButton />).find(FloatingActionButton)
// console.log(iconButton.node.type)
props = iconButton.props()
})
import FloatingActionButton from'material ui/FloatingActionButton'
从“../../src/IconButton”导入IconButton
仅描述(“”,()=>{
让我扣上扣子,道具
在每个之前(()=>{
iconButton=shallow().find(FloatingActionButton)
//log(iconButton.node.type)
props=iconButton.props()
})
组件本身
import React from 'react'
import PropTypes from 'prop-types'
import FloatingActionButton from 'material-ui/FloatingActionButton'
import getStyle from './styles'
import '../styles/buttons.scss'
const IconButton = ({color = 'normal', ...props}) =>
<FloatingActionButton
disableTouchRipple
mini
zDepth={1}
{...props}
{...getStyle(color, props.disabled, props.children)}
/>
IconButton.propTypes = {
color: PropTypes.string,
icon: PropTypes.node,
children: PropTypes.node,
disabled: PropTypes.bool,
// here we must use object proptype as style is an object and there is no validation for style type
// eslint-disable-next-line react/forbid-prop-types
style: PropTypes.object,
}
export default IconButton
从“React”导入React
从“道具类型”导入道具类型
从“材质ui/FloatingActionButton”导入FloatingActionButton
从“./styles”导入getStyle
导入“../styles/buttons.scss”
常量图标按钮=({color='normal',…props})=>
IconButton.propTypes={
颜色:PropTypes.string,
图标:PropTypes.node,
子项:PropTypes.node,
禁用:PropTypes.bool,
//在这里,我们必须使用对象proptype,因为style是一个对象,并且没有对style类型的验证
//eslint禁用下一行反应/禁止道具类型
样式:PropTypes.object,
}
导出默认图标按钮
该错误与酶无关,但与React呈现有关。显示您的FloatingAction按钮错误原因似乎在那里。您是否正确导出组件?@CharlieBrown FloatingAction按钮是材质ui组件,您认为呈现此组件有问题吗?@MartinDawson在尝试console.log时也是如此(iconButton.node)-我将此组件视为节点{$$typeof':Symbol(react.element),类型:{[Function:FloatingActionButton]defaultProps:{disabled:false,mini:false,secondary:false,zDepth:2},contextTypes:{muiTheme:[函数:绑定checkType]},