IBM Cloud Docs
Code Engine 関数のローカルでのテスト

Code Engine 関数のローカルでのテスト

IBM Cloud® Code Engine 関数は、コード・スニペットから作成されるため、ローカルでテストすることは、アプリケーションやジョブをローカルでテストすることほど簡単ではありません。 コード・スニペットのラッパーを作成し、それをローカルで実行することによって、関数をローカルでテストする方法の 1 つ。

ラッパーを使用してコードをテストするには、以下の一般的なステップに従います。

  1. test-local という名前のディレクトリーを作成します。
  2. func という名前のサブディレクトリーを作成します。
  3. 機能コードを func サブディレクトリーにコピーします。
  4. Python または Node.js ラッパー・コードを親ディレクトリーにコピーします。
  5. JSON オブジェクトとして構成ファイルを作成します。これは、 Code Engine によって呼び出されたときに 関数に渡されるものと似ています
  6. 構成ファイルをパラメーターとして使用してラッパー・コードを実行します。

以下のラッパーを使用することも、独自のラッパーを作成することもできます。

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 CE function and print the result
    print(main(params))

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 CE function and log the result
console.log(func.main(JSON.parse(data)));