react hook testing
npm i react-test-renderer -D
npm i react-hook-testing -D
Minimal version of renderHook
function from @testing-library/react
.
import { useState } from 'react'
import { act } from 'react-test-renderer'
import { renderHook } from 'react-hook-testing'
describe('renderHook', () => {
test('should handle useState', async () => {
// !!! requires await !!!
const { result } = await renderHook(() => useState(1))
expect(result.current[0]).toEqual(1)
await act(() => {
result.current[1](2)
})
expect(result.current[0]).toEqual(2)
})
})