Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

319
Visualizações
How to test custom `Document` in Next.js?

I have a custom Document which is copied from the document:

import Document, { Html, Head, Main, NextScript } from 'next/document'

class MyDocument extends Document {
  static async getInitialProps(ctx) {
    const initialProps = await Document.getInitialProps(ctx)
    return { ...initialProps }
  }

  render() {
    return (
      <Html lang="en">
        <Head />
        <body>
          <Main />
          <NextScript />
        </body>
      </Html>
    )
  }
}

export default MyDocument

I tried to write test for it with the following below:

import { render } from '@testing-library/react';
import MyDocument from '../_document.page';

describe('<MyDocument />', () => {
  it('should render without errors', async () => {
    const documentProps = {} as any;

    render(<MyDocument {...documentProps} />);
  });
});

But I get an error:

    TypeError: Cannot destructure property 'inAmpMode' of '(0 , _react).useContext(...)' as it is null.

       6 |     const documentProps = {} as any;
       7 |
    >  8 |     render(<MyDocument {...documentProps} />);
         |     ^
       9 |   });
      10 | });

What is the recommended way to test the custom document or how do I resolve this? Thank you.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda