Tester une fonction Cloud avant le déploiement

Ce guide vous explique comment tester une fonction Cloud dans la console Google Cloud avant de la déployer. Cette fonctionnalité est disponible pour les fonctions Node.js et Python.

Préparer une fonction à des tests

Pour préparer une fonction à des fins de test, procédez comme suit:

  1. Ouvrez la page de présentation de Cloud Functions dans la console Google Cloud :

    Accéder à la page de présentation de Cloud Functions

    Vérifiez que le projet pour lequel vous avez activé Cloud Functions est sélectionné.

  2. Cliquez sur Créer une fonction pour créer une fonction Node.js ou Python, ou sélectionnez une fonction Node.js ou Python existante, puis cliquez sur Modifier pour la modifier.

  3. Cliquez sur Suivant pour accéder à la page de modification du code :

    Capture d'écran montrant le panneau de test de la fonction de prédéploiement

  4. Cliquez sur Tester la fonction pour lancer le processus de test.

  5. Lorsque vous y êtes invité, cliquez sur Démarrer les tests pour autoriser l'utilisation du terminal Cloud Shell.

Exécuter le test

Une fois la procédure ci-dessus terminée, le panneau des événements déclencheurs s'ouvre sur la droite, confirmant que la fonction est prête à être testée. Cliquez sur Run test (Exécuter le test) :

Capture d'écran montrant le panneau de test de la fonction de prédéploiement

Cette phase du processus de test comprend les composants suivants :

  • Panneau "Événement déclencheur". Le panneau de l'événement déclencheur est prérempli avec une charge utile correspondant au déclencheur d'événement que vous avez spécifié sur la page de configuration. Il s'agit de l'entrée de votre fonction.
  • Fenêtre de sortie Cloud Shell. La fenêtre de sortie de Cloud Shell affiche le code d'état HTTP et toute réponse renvoyée à l'appelant.
  • L'option Run test (Exécuter le test) permet d'exécuter le test.

Vous pouvez observer le résultat du test dans la fenêtre Cloud Shell:

Capture d'écran montrant la fenêtre de sortie Cloud Shell

Terminal Cloud Shell

Vous pouvez afficher la sortie de journalisation correspondant à votre fonction dans le terminal Cloud Shell en bas de l'écran. Par exemple, vous verrez la sortie du packaging de code source lorsque vous ouvrez le panneau de test. Lorsque vous exécutez un test, vous voyez les modifications du code source et le résultat du niveau d'exécution, y compris console.log et les erreurs.

Si votre test échoue, le terminal Cloud Shell affiche un message d'erreur pour vous aider à identifier la cause exacte, par exemple:

[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.

Déployer

Une fois les tests terminés, vous pouvez déployer votre fonction selon la procédure habituelle en cliquant sur Déployer.