Code Engine 関数のローカルでのテスト
IBM Cloud® Code Engine 関数は、コード・スニペットから作成されるため、ローカルでテストすることは、アプリケーションやジョブをローカルでテストすることほど簡単ではありません。 コード・スニペットのラッパーを作成し、それをローカルで実行することによって、関数をローカルでテストする方法の 1 つ。
ラッパーを使用してコードをテストするには、以下の一般的なステップに従います。
test-local
という名前のディレクトリーを作成します。func
という名前のサブディレクトリーを作成します。- 機能コードを
func
サブディレクトリーにコピーします。 - Python または Node.js ラッパー・コードを親ディレクトリーにコピーします。
- JSON オブジェクトとして構成ファイルを作成します。これは、 Code Engine によって呼び出されたときに 関数に渡されるものと似ています。
- 構成ファイルをパラメーターとして使用してラッパー・コードを実行します。
以下のラッパーを使用することも、独自のラッパーを作成することもできます。
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)));