Today I Learned

Testing library for Hooks

March 22, 2021

Example:

// useCounter.js

import { useState, useCallback } from "react";

function useCounter() {
  const [count, setCount] = useState(0);

  const increment = useCallback(() => setCount(x => x + 1), []);

  return { count, increment };
}

export default useCounter;
// useCounter.test.js

import { renderHook, act } from "@testing-library/react-hooks";
import useCounter from "./useCounter";

test("should increment counter", () => {
  const { result } = renderHook(() => useCounter());

  act(() => {
    result.current.increment();
  });

  expect(result.current.count).toBe(1);
});

Reference

https://github.com/testing-library/react-hooks-testing-library


© 2025 - Written by Vuong Vu. Connect with me on LinkedIn.