Javascript ReactJS和jest:如何为element.offsetWidth使用模拟值?
我有一个组件,它通过编程创建一个span元素并向其中添加文本,然后检查其Javascript ReactJS和jest:如何为element.offsetWidth使用模拟值?,javascript,reactjs,testing,jestjs,Javascript,Reactjs,Testing,Jestjs,我有一个组件,它通过编程创建一个span元素并向其中添加文本,然后检查其偏移宽度。在我的测试中,该值为0。我想知道如何“强制”它到另一个任意值进行测试 我尝试了以下方法,但没有成功: Object.defineProperty(HTMLElement.prototype, 'offsetWidth', { configurable: true, value: 500 }) 谁能给我指一下正确的方向吗?谢谢 Github: 这是组件测试文件的链接:为了解决这个问题,我使用了一种称为依赖项注入的技
偏移宽度
。在我的测试中,该值为0。我想知道如何“强制”它到另一个任意值进行测试
我尝试了以下方法,但没有成功:
Object.defineProperty(HTMLElement.prototype, 'offsetWidth', { configurable: true, value: 500 })
谁能给我指一下正确的方向吗?谢谢
Github:
这是组件测试文件的链接:为了解决这个问题,我使用了一种称为依赖项注入的技术() 基本上通过道具进行测试并在代码中使用:
// for testing purposes use props.testRulerSpanWidth
// if it exists, otherwise use the default rulerSpan.offestWidth
const rulerSpanWidth = props.testRulerSpanWidth ?
props.testRulerSpanWidth
:
rulerSpan.offsetWidth;
为了解决这个问题,我使用了一种称为依赖注入()的技术 基本上通过道具进行测试并在代码中使用:
// for testing purposes use props.testRulerSpanWidth
// if it exists, otherwise use the default rulerSpan.offestWidth
const rulerSpanWidth = props.testRulerSpanWidth ?
props.testRulerSpanWidth
:
rulerSpan.offsetWidth;