Skip to content

window.navigator.userAgentをVitestでモックする

やりたいこと

window.navigator.userAgentをVitestでモックしたい。

window.navigator.userAgentについて

↓を読みましょう
https://developer.mozilla.org/ja/docs/Web/API/Navigator/userAgent

Vitestでグローバルなモックを書く

今回のケースではvi.stubGlobal()が使える。
モックをリセットする時はvi.restoreAllMocks()を使う。

本題: Vitestでwindow.navigator.userAgentをモックする

基本的にこれを参考にする。

describe('window.navigator.userAgent mock test', () => {
beforeEach(() => {
vi.restoreAllMocks()
})
test('should be passed', () => {
const userAgent = 'test'
vi.stubGlobal('navigator', { userAgent })
expect(window.navigator.userAgent).toBe(userAgent)
})
})