我有一些反應功能組件:
export const Chat = props => {
..............
const messagesRef = useRef(null);
useEffect(() => messages && messagesRef.current.scrollTo(0, 99999), [messages]);
.............
return (
...........
<div className='chat-content__list' ref={messagesRef}>
</div>
............
)
}
我不擅長測驗,我只想測驗我的組件的渲染,代碼是這樣的:
it('Render Messages chat', async () => {
const { container } = render(<Chat ...someProps />)
}
運行此測驗后,我收到此錯誤:TypeError: messagesRef.current.scrollTo is not a function
如何在測驗期間使用 refs 以及如何解決我的錯誤?
uj5u.com熱心網友回復:
Jest React 測驗在稱為jsdom的瀏覽器抽象中運行。因為它不是一個真正的瀏覽器,所以并不是所有的功能都實作了。我懷疑這scrollTo是一個這樣的例子。
例如,這個答案表明它scrollIntoView也沒有實作,為了解決它,你可以為它提供一個間諜。
Jest 支持為所有測驗所需的設定代碼提供設定檔案。您可以考慮將模擬放在那里。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432997.html
