我想在按钮 onPress 功能运行后注册组件的快照。
这是我的测试套件:
describe('Login component', () => {
// This runs fine. Snapshot OK
it('Renders correctly', () => {
const tree = renderer.create(<Login />).toJSON()
expect(tree).toMatchSnapshot()
})
// This does not run fine. Snapshot is 'null'
it('Contains error message when submit with empty fields', () => {
const login = renderer.create(<Login />)
const instance = login.getInstance()
// Submit the form (default values = empty)
instance.submit()
// Force update (rerender) the component
login.update()
expect(login.toJSON()).toMatchSnapshot()
})
})
上面的测试套件创建了两个快照。第一个测试在默认条件下快照组件的结构,并且似乎正确注册。
第二个测试应该在提交运行后记录组件结构,显示错误消息,提醒用户无法提交带有空字段的表单。
不幸的是,这并没有按预期工作,因为 afterlogin.update()
运行,login.toJSON()
返回null
。
我显然做错了什么,但是什么?文档似乎表明它update
做了我认为它做的事情。