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