почему Jest не выполняет мой тест правильно? - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь проверить свой код с помощью jest, пока у меня есть это:

    const [error, setError] = useState(null)
    async function fetchThis() {
        try {
            if (something) {
                myFunction() // i am mocking this
            } else {
              somethingElse()
            }

        } catch (err) {
            setError(true)
        }
    }

useEffect(() => {
    fetchThis()
}, [])

Я издеваюсь myFunction вот так:

        myFunction.mockImplementationOnce(() => {
            throw new Error()
        })

, поэтому он успешнопопадая в блок catch

, однако по какой-то причине он никогда не устанавливает истинную

проверку функции setError() в шутку:

        const { queryByText, getByText, getByTestId, rerender, debug, container } = render(
            <App {...props} />,
        )

rerender(<App {...props} />) 

// Мне нужнопо-видимому, некоторые документы сказали мне, что реакция не запускает перехватчики в режиме синхронизации

есть идеи, почему бы это не назвать?

также, чтобы было ясно, это значение trueв браузере, так что это определенно что-то с тестами.

это даже не работает, когда я делаю

useEffect(() => {
    setError(true)
}, [])

какого черта ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...