Funktionen von Code Engine lokal testen

IBM Cloud® Code Engine funktionen werden aus Codeschnipseln erstellt und können daher nicht so einfach lokal getestet werden wie eine Anwendung oder ein Auftrag. Eine Möglichkeit, Funktionen lokal zu testen, indem Sie einen Wrapper für das Code-Snippet erstellen und dann lokal ausführen.

Führen Sie die folgenden allgemeinen Schritte aus, um Ihren Code mit einem Wrapper zu testen:

  1. Erstellen Sie ein Verzeichnis namens test-local.
  2. Erstellen Sie ein Unterverzeichnis mit dem Namen func.
  3. Kopieren Sie Ihren Funktionscode in das Unterverzeichnis func.
  4. Kopieren Sie den Python-oder Node.js-Wrapper-Code in das übergeordnete Verzeichnis.
  5. Erstellen Sie eine Konfigurationsdatei als JSON-Objekte, ähnlich der Datei, die von Code Engine an die Funktion übergeben wird, wenn sie aufgerufen wird.
  6. Führen Sie den Wrapper-Code mit der Konfigurationsdatei als Parameter aus.

Sie können die folgenden Wrapper verwenden oder eigene erstellen.

Python-Wrapper

# 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))

Node.js-Wrapper

// 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)));