#javascript #reactjs #jestjs
#язык JavaScript #реагирует на #jestjs
Вопрос:
У меня есть компонент и тест, который не проходит. Я получаю ошибку ReferenceError: действие не определено. Есть идеи, как это исправить? Я пытался почитать и исправить это сам, но мне пока не удалось.
export const useCounter = (initialValue = 0) =gt; { const [counter, setCounter] = useState(initialValue) const add = useCallback((delta = 1) =gt; setCounter(counter =gt; counter delta), [setCounter]) const substract = useCallback((delta = 1) =gt; setCounter(counter =gt; counter - delta), [setCounter]) return ( lt;gt; Count: {counter} {add, substract} lt;/gt; ) }
import { renderHook } from '@testing-library/react-hooks' import { useCounter } from '@/hooks/useCounter' describe('Testing useCounter hook', () =gt; { it('should add 1 to counter', () =gt; { const { result } = renderHook(useCounter) act(() =gt; result.current.add()) expect(result.current.counter).toBe(1) }) it('should subtract -1 to counter', () =gt; { const { result } = renderHook(useCounter) act(() =gt; result.current.subtract()) expect(result.current.counter).toBe(-1) }) })
Комментарии:
1. Что такое
act
? Где это определено? Как он импортируется/помещается в окружающую среду?2. Как говорится в ошибке, вы пытаетесь позвонить
act
, несмотря на то, что это нигде не определено. Вам нужно импортировать его.