VitestでMock
docs
API
#WIP
VitestでTimerのMock
https://vitest.dev/guide/mocking.html
Dates
@sinonjs/fake-timers
日付や時刻のテスト
Functions
Globals
Modules
Requests
Timers
Cheat Sheet
Mock Functions
getMockName
mockClear
mockName
mockImplementation
mockImplementationOnce
mockRejectedValue
mockRejectedValueOnce
mockReset
mockRestore
mockResolvedValue
mockResolvedValueOnce
mockReturnThis
mockReturnValue
mockReturnValueOnce
mock.calls
mock.lastCall
mock.results
mock.instances
vi内にもmock関数あるな
なんで別のnamespace下にあるんや?
https://vitest.dev/api/vi.html
#??
vi.fnとvi.spyOnの違い
「mock」って命名合ってる?
jestに合わせてるだけの適当命名?
vi.clearAllMocks
vi.getMockedSystemTime
vi.mock
docs
moduleをまるごとmock
テストのためにlibraryを代替したり
code:ts
vi.mock('./path/to/module.js', async (importOriginal) => {
const mod = await importOriginal()
return {
...mod,
// replace some exports
namedExport: vi.fn(),
}
})
vi.doMock
vi.mocked
vi.importMock
stub系
vi.stubEnv
vi.unstubAllEnvs
vi.stubGlobal
vi.unstubAllGlobals
vi.stubGlobal
spy系
内部ではTinyspyを使ってる
vi.fn
vi.spyOn
vi.unmock
vi.doUnmock