9
respostas

Erro document is not defined

Fala pessoal, estou recebendo esse erro aqui quando executo o teste...

FAIL src\App.test.js ● Componente principal › Mostrar o nome do banco

ReferenceError: document is not defined

  at render (node_modules/@testing-library/react/dist/pure.js:68:5)
  at Object.<anonymous> (src/App.test.js:8:28)
      at new Promise (<anonymous>)
  at node_modules/p-map/index.js:46:16
  at processTicksAndRejections (node:internal/process/task_queues:93:5)

Componente principal × Mostrar o nome do banco (3ms)

Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total FAIL src\App.test.js ● Componente principal › Mostrar o nome do banco

ReferenceError: document is not defined

  at render (node_modules/@testing-library/react/dist/pure.js:68:5)
  at Object.<anonymous> (src/App.test.js:8:28)
      at new Promise (<anonymous>)
  at node_modules/p-map/index.js:46:16
  at processTicksAndRejections (node:internal/process/task_queues:93:5)

Componente principal × Mostrar o nome do banco (1ms)

Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 3.443s, estimated 4s Ran all test suites related to changed files.

Segue abaixo o meu código do arquivo App.test.js

import React from 'react';
import { render, screen } from '@testing-library/react';

import App from './app';

describe('Componente principal', () => {
    it('Mostrar o nome do banco', () => {
        render(<App />);

        expect(screen.getByText('ByteBank')).toBeInTheDocument();
    })
})
9 respostas

Também estou com o mesmo erro amigo:

import App from './App'
import React from "react"
import {render, screen} from '@testing-library/react'



describe('Componente principal (APP)', () => {

    it ('Exibir nome do banco', () => {

        render(< App />)

        expect(screen.getByText('ByteBank'))
            .toBeInTheDocument()
    })
})

erro:

 FAIL  src/App.spec.jsx
  ● Componente principal (APP) › Exibir nome do banco

    ReferenceError: document is not defined

      at render (node_modules/@testing-library/react/dist/pure.js:68:5)
      at Object.<anonymous> (src/App.spec.jsx:11:28)
          at new Promise (<anonymous>)
      at node_modules/p-map/index.js:46:16

  Componente principal (APP)
    ✕ Exibir nome do banco (1ms)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        0.694s, estimated 1s
Ran all test suites related to changed files.

Watch Usage: Press w to show more.% 

Alguma novidade sobre esse erro ?

Mesmo erro aqui! alguma novidade?

Enviei pro time alura pessoal, me informaram que estão verificando. Vamos aguardar

Olá, Eduardo! Tudo bem?

Esse erro aponta que o document não consegue ser encontrado. O document é um objeto global que é encontrado no ambiente de navegadores (em Node, por exemplo, esse objeto não é acessível).

No caso de testes, ele também não é encontrado por padrão. Por isso fazemos configurações adicionais. Essas configurações foram feitas pela instrutora no projeto inicial fornecido pelo curso (em setupTests).

Você baixou o projeto inicial? Se sim, e o erro persistiu, acredito que a melhor maneira de resolver isso é enviar o código do seu projeto, para que possamos testar aqui. Baixei o projeto inicial e rodei o seu teste, e não obtive problemas. Rodei também o código que o Yury forneceu, e o teste também funcionou.

Assim, é provável que o problema esteja relacionado a alguma configuração (ou falta de configuração) nos projetos. Minha recomendação é, primeiro baixar novamente o projeto inicial, rodar npm i no projeto, criar o arquivo de testes App.test.js e apenas colocar o mesmo código que você disponibilizou. Se o erro persistir, teremos que investigar o código. Se possível, compartilhe um repositório do projeto no GitHub para que possamos testar o projeto idêntico.

Para os outros alunos que estão enfrentando o mesmo problema, recomendo tentar a mesma coisa, baixar o projeto inicial e fazer apenas os passos essenciais para rodar o teste. É difícil dizer ao certo se todos estão enfrentando o mesmo problema pelo mesmo motivo, e por isso, peço que se vocês continuam enfrentando o mesmo problema, abram tópicos próprios, para que possamos tratar cada caso separadamente.

De toda forma, espero ter ajudado, e se algum aluno conseguir resolver seu problema, por favor, compartilhe aqui! E qualquer coisa estamos à disposição!

Obrigado Leonardo,

Acredito que a maioria aqui é iniciante e, muitas vezes, algo implícito que possa parecer óbvio pode não ser percebido por nós, iniciantes. Um pequeno vídeo introdutório mostrando o ambiente necessário e suas respectivas configurações e requisitos seria o suficiente para evitar frustração de alguns alunos no curso. Eu mesmo acabei fazendo outro curso, por fora da Alura, por conta disso. Fica aqui minha sugestão de melhoria para este curso.

Pessoal, descobri algo que pode funcionar para todos, provavelmente quem está usando o WSL precisa utilizar diretamente na maquina em vez do subsistema, tentem clonar o repositorio e fazer o npm install, npm start... direto na maquina e tente rodar o npm start depois de criado o App.test.js, aqui funcionou, o pqê eu nao tenho ideia mas deve ser uma limitação do wsl, funciona só nas att mais recentes do wsl se nao estiver atualizado deve usar na propria maquina para esse modulo de testes.

Eu bypassei o erro e segui adiante... Tem muita coisa aqui que vocês presumem ser obvias... Mas não são...

Eu to parado em uma preparação de ambiente do curso de React Native porque o instrutor """"""explicou"""""" (sim com muuuuuuitas aspas) como preparar o ambiente através de texto, sendo que a gente paga por um conteúdo de vídeo... E tá dando um monte de erro por que vejo exatamente isso... Pedindo coisas que eles presumem que a gente saiba... Fiquei muito desapontado com esse curso.

Yury e Eduardo, primeiro eu quero agradecer pelo feedback. É muito importante que vocês alunos compartilhem suas experiências com os cursos, para que nós possamos melhorar sempre.

Quanto ao feedback específico sobre o curso, eu irei encaminhar para o time responsável para que seus pontos sejam revisados com atenção!

De novo, obrigado, e sentimos muito que o curso tenha gerado esse transtorno. De toda forma, estamos à disposição aqui no fórum e não hesitem em perguntar, qualquer dúvida é válida!

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software