Test des fonctions Code Engine en local

IBM Cloud® Code Engine sont créées à partir d'extraits de code et les tester localement n'est donc pas aussi simple que de tester une application ou un travail localement. Une façon de tester les fonctions en local en créant un encapsuleur pour le fragment de code, puis en l'exécutant en local.

Pour tester votre code avec un encapsuleur, procédez comme suit.

  1. Créez un répertoire appelé test-local.
  2. Créez un sous-répertoire appelé func.
  3. Copiez votre code de fonction dans le sous-répertoire func.
  4. Copiez le code encapsuleur Python ou Node.js dans le répertoire parent.
  5. Créez un fichier de configuration sous forme d'objets JSON, similaire à ce qui est transmis par Code Engine à la fonction lorsqu'elle est appelée.
  6. Exécutez le code encapsuleur avec le fichier de configuration en tant que paramètre.

Vous pouvez utiliser les encapsuleurs suivants ou créer les vôtres.

Encapsuleur Python

# syntax: python wrapper.py params.json

# import the Code Engine function: func/__main__.py
from func.__main__ import main
import sys, json

if __name__ == "__main__":
    # open file, read JSON config
    with open(str(sys.argv[1])) as confFile:
        params=json.load(confFile)
    # invoke the Code Engine function and print the result
    print(main(params))

Encapsuleur Node.js

// syntax: node wrapper.js params.json

// require the Code Engine function: func/main.js
var func=require('./func/main.js')

// read the file with function parameters
const fs = require("fs");
const data = fs.readFileSync(process.argv[2]);

// invoke the Code Engine function and log the result
console.log(func.main(JSON.parse(data)));