【问题标题】:Mock addEventListener for google maps谷歌地图的模拟 addEventListener
【发布时间】:2019-11-28 18:19:36
【问题描述】:

我有这个代码:

const eventNames = ['ready', 'click']
const node = ReactDOM.findDOMNode(mapRef)
const mapConfig = { streetViewControl: false }
this.map = new maps.Map(node, mapConfig)

eventNames.forEach(e => {
  this.listeners[e] = this.map.addListener(e, this.handleEvent(e))
})

我想对其进行测试,但收到此错误:this.map.addListener is not a function。我是这样嘲讽的:

window.addEventListener = jest.fn()
const google = {
  maps: {
    LatLng: jest.fn(),
    Map: jest.fn(),
    event: jest.fn()
  }
}

const wrapper = shallow(
  <Map google={google}>
    <Component />
  </Map>
)

谁能帮忙模拟一下这部分?

提前谢谢你

【问题讨论】:

    标签: javascript reactjs jasmine jestjs


    【解决方案1】:

    我发现了如何模拟这个:

    const google = {
      maps: {
        LatLng: jest.fn(),
        Map: function() { return { addListener: jest.fn() } },
        event: { trigger: jest.fn() }
      }
    }
    

    【讨论】:

      【解决方案2】:

      你应该看看 开玩笑的谷歌地图模拟

      【讨论】:

        猜你喜欢
        • 2018-06-11
        • 1970-01-01
        • 2014-09-04
        • 1970-01-01
        • 1970-01-01
        • 2012-07-25
        • 2023-03-25
        • 1970-01-01
        • 2016-11-05
        相关资源
        最近更新 更多