Testar uma função do Cloud antes da implantação

Neste guia, mostramos como testar uma função do Cloud no console do Google Cloud antes de implantá-la. Esse recurso está disponível para as funções do Node.js e Python.

Preparar uma função para testes

Para preparar uma função para testes:

  1. Abra a página de visão geral do Functions no console do Google Cloud:

    Acessar a página Visão geral do Cloud Functions

    Verifique se o projeto com o Cloud Functions ativado foi selecionado.

  2. Clique em Criar função para criar uma nova função do Node.js ou Python ou selecione uma função existente do Node.js ou Python e clique em Editar para editá-la.

  3. Clique em Próxima para avançar para a página de edição de código:

    Captura de tela que mostra o painel de testes da pré-implantação da função

  4. Clique em Testar função para iniciar o processo de testes.

  5. Quando solicitado, clique em Iniciar teste para autorizar o uso do terminal do Cloud Shell.

Executar o teste

Quando você concluir as etapas anteriores, o painel do evento de acionamento será aberto à direita, confirmando que a função está pronta para ser testada. Clique em Executar teste:

Captura de tela que mostra o painel de testes da pré-implantação da função

Esta fase do processo de teste inclui os seguintes componentes:

  • Painel de eventos de gatilho. Esse painel é pré-preenchido com um payload que corresponde ao gatilho de evento especificado na página de configuração. Essa é a entrada da sua função.
  • Janela de saída do Cloud Shell. A janela de saída do Cloud Shell exibe o código de status HTTP e qualquer resposta retornada ao autor da chamada.
  • Executar teste realiza o teste.

É possível observar a saída do teste na janela do Cloud Shell:

Captura de tela que mostra a janela de saída do Cloud Shell

Terminal do Cloud Shell

É possível ver a saída da geração de registros pela sua função no terminal do Cloud Shell na parte inferior da tela. Por exemplo, você verá a saída de empacotamento do código-fonte quando abrir o painel de testes. Ao executar um teste, você verá as mudanças no código-fonte e a saída no nível da execução, incluindo console.log e erros.

Se o teste falhar, o terminal do Cloud Shell exibirá uma mensagem de erro para ajudar a identificar a causa exata, por exemplo:

[11:31:47 AM] - Provided module can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /workspace/index.js:11
    : 'World';
    ^

SyntaxError: Unexpected token ':'
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1048:15)
    at Module._compile (node:internal/modules/cjs/loader:1083:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1173:10)
    at Module.load (node:internal/modules/cjs/loader:997:32)
    at Module._load (node:internal/modules/cjs/loader:838:12)
    at Module.require (node:internal/modules/cjs/loader:1021:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at getUserFunction (/workspace/node_modules/@google-cloud/functions-framework/build/src/loader.js:98:30)
    at async main (/workspace/node_modules/@google-cloud/functions-framework/build/src/main.js:35:32)

[11:31:47 AM] - Could not load the function, shutting down.

Implantar

Depois de concluir o teste, será possível implantar a função da maneira habitual clicando em Implantar.