Javascript 如何在mocha unittest中模拟对象?

Javascript 如何在mocha unittest中模拟对象?,javascript,unit-testing,reactjs,mocha.js,enzyme,Javascript,Unit Testing,Reactjs,Mocha.js,Enzyme,在我的reactjs组件中,我有一个名为getContainer(doc)的方法,其中有一行: let w = Math.max(doc.documentElement.clientWidth, window.innerWidth); 它接受一个名为doc:htmldocument的参数。在我的摩卡单元测试中,我得到: let mockDoc = {documentElement: {clientWidth:100}} let res = wrapper.instance().getCo

在我的reactjs组件中,我有一个名为getContainer(doc)的方法,其中有一行:

  let w = Math.max(doc.documentElement.clientWidth, window.innerWidth);
它接受一个名为doc:htmldocument的参数。在我的摩卡单元测试中,我得到:

let mockDoc =  {documentElement: {clientWidth:100}}
let res = wrapper.instance().getContainer(mockDoc);
当我运行测试时,仍然会出现错误,如何修复此错误

错误:

 TypeError: Cannot read property 'clientWidth' of undefined

您可以使用一个可视化的dom库,如jsdom,以了解更多的细节