1

我有一个包含shaka player的组件,我想用基于 jest 的 react 测试库进行测试。

      ...
      <ShakaPlayer
        autoPlay
        src="http://xxxx/bbb/default/index.mpd"
      />
      ...

在此组件上运行测试时,如果我像这样进行简单的异步测试:

  it( 'includes a Init button', async () => {
    const { getByText } = render( <Home/> )
    await waitFor( () =>
      expect( getByText( /Init/i ) ).toBeVisible()
    );
  } )

然后 shaka player 导致测试失败:

    EmeEncryptionSchemePolyfill: EME not found

      at es (node_modules/shaka-player-react/dist/cjs.js:854:374)

  console.debug
    McEncryptionSchemePolyfill: MediaCapabilities not found

      at ns (node_modules/shaka-player-react/dist/cjs.js:859:230)
...

this.target.addEventListener is not a function
TypeError: this.target.addEventListener is not a function
    at new Qc (/Users/Ludo/dev/xxx/saas/xxx/webapp/node_modules/shaka-player-react/dist/cjs.js:228:473)

阻塞点是这个例外:this.target.addEventListener is not a function

这是因为玩家在开玩笑,其中包括一个无头兄弟。有人知道如何让沙卡播放器在这个测试环境中不爆炸吗?

4

0 回答 0