Fel*_*sto 6 unit-testing reactjs jestjs react-datepicker
我有一个正在运行的单元测试,但是现在我在上添加了一个新程序包react-datepicker,称为,react-text-mask并且尝试对其进行模拟,但是当我运行时它会收到以下消息npm run test:
TypeError:无法读取null的属性“ selectionEnd”
在Object.update(node_modules / react-text-mask / dist / reactTextMask.js:1:9205)
在t.value(node_modules / react-text-mask / dist / reactTextMask.js:1:2431)
在t.value(node_modules / react-text-mask / dist / reactTextMask.js:1:2490)
在commitLifeCycles(node_modules / react-test-renderer / cjs / react-test-renderer.development.js:6427:22)
在commitAllLifeCycles(node_modules / react-test-renderer / cjs / react-test-renderer.development.js:7516:7)
我react-datepicker的react-text-mask:
<RCDatePicker
{...rest}
locale="pt-BR"
selected={value}
onChange={onChange}
readOnly={readOnly}
dateFormat={dateFormat}
minDate={minDays ? moment(baseDate).subtract(minDays, 'days') : undefined}
maxDate={maxDays ? moment(baseDate).add(maxDays, 'days') : undefined}
disabled={disabled}
customInput={<MaskedInput
mask={[/[0-3]/, /\d/, '/', /[0-1]/, /\d/, '/', /[1-2]/, /\d/, /\d/, /\d/]}
/>}
>
Run Code Online (Sandbox Code Playgroud)
我的单元测试:
describe('<DatePicker />', () => {
it('should have default props', () => {
const mock = jest.mock('react-text-mask', () => props => <input type="text" {...{ ...props }} />);
const tree = renderer.create(<DatePicker onChange={Function} />).toJSON()
jest.spyOn(mock)
expect(tree).toMatchSnapshot()
})
})
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案,只是将模拟放到了描述之外。
import React from 'react'
import renderer from 'react-test-renderer'
import { DatePicker } from './DatePicker'
jest.mock('react-text-mask', () => props => <input type="text" {...{ ...props }} />)
describe('<DatePicker />', () => {
it('should have default props', () => {
const tree = renderer.create(<DatePicker onChange={Function} />).toJSON()
expect(tree).toMatchSnapshot()
})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1268 次 |
| 最近记录: |