Reactjs redux表单单元测试字段值
我用酶来测试redux表单字段的值取决于道具。如何在传递新道具时测试字段值。似乎字段的组件属性中的值。无论如何,当设置新道具时,如何从redux表单测试字段。是可以测试的。看起来redux表单测试字段值,我们不再需要它了,是吗Reactjs redux表单单元测试字段值,reactjs,unit-testing,redux,redux-form,enzyme,Reactjs,Unit Testing,Redux,Redux Form,Enzyme,我用酶来测试redux表单字段的值取决于道具。如何在传递新道具时测试字段值。似乎字段的组件属性中的值。无论如何,当设置新道具时,如何从redux表单测试字段。是可以测试的。看起来redux表单测试字段值,我们不再需要它了,是吗 <Field component={renderTextField} name='name' label={<FormattedMessage id='name' />} /> describe('EditDevice',
<Field
component={renderTextField}
name='name'
label={<FormattedMessage id='name' />}
/>
describe('EditDevice', () => {
let page, push, handleSubmit, init
let skip = {}
let update = sinon.stub().resolves({success: true})
let device = {
deviceType: deviceTypes.MiAccessPoint,
deviceId: 1,
lastAliveMessage: 'some text',
miConfiguration: {
fieldRange: '',
doorConfiguration: {},
},
}
beforeEach(() => page = shallow(<EditDevice
update={update}
handleSubmit={sinon.spy()}
deviceId={deviceId}
history={{push: push = sinon.spy()}}
skip={skip}
initialValues={device}
/>))
it.only('should update device fields if isLoadingInProgress turned from true to false on receiving new props', async () => {
const device = {
name: 'new name',
deviceType: deviceTypes.Tag,
version: 'new version',
deviceStatus: 'online',
}
page.setProps({isLoadingInProgress: true})
page.setProps({isLoadingInProgress: false, initialValues:{...device}})
page.update()
page.find(Field).findWhere(x => x.props().name === 'name').props().value.should.be.equal(device.name)
})
描述('EditDevice',()=>{
让page、push、handleSubmit、init
让我们跳过={}
让update=sinon.stub().resolves({success:true})
让设备={
deviceType:deviceType.MiAccessPoint,
设备ID:1,
lastAliveMessage:“一些文本”,
微配置:{
字段范围:“”,
门配置:{},
},
}
之前(()=>page=shallow())
it.only('如果IsLoadingProgress在接收新道具时从true变为false,则应更新设备字段',async()=>{
常数设备={
名称:'新名称',
deviceType:deviceTypes.Tag,
版本:'新版本',
deviceStatus:“在线”,
}
page.setProps({IsLoadingProgress:true})
setProps({IsLoadingProgress:false,initialValue:{…device}})
page.update()
page.find(Field).findWhere(x=>x.props().name==='name').props().value.should.be.equal(device.name)
})