ThingWorx Flow > ThingWorx Flow SDK > 測試連接器
測試連接器
測試指令
test 指令可用來測試連接器加工品。加工品有一些共用選項,還有一些特定選項。測試指令會將加工品類型作為子指令。test 指令具有下列指令:
指令
描述
flow test action <name>
測試名為 <name> 的動作。
flow test connection <name>
測試名為 <name> 的連線。
flow test lookup <name> <method>
測試查詢 <name> 中名為 <method> 的查詢函數。
flow test oauth <name>
測試名為 <name> 的 oauth。
flow test trigger <name> <method>
測試名為 <name> 的觸發器。
test 指令具有下列選項:
選項
描述
資料類型
--version
顯示版本編號。
[布林值]
--help
顯示說明。
[布林值]
--timeout
操作的逾時。--timeout 選項可指定以毫秒微單位的逾時 (預設為 30000 ms)。此選項可確保程式碼在指定時間內完成,且它會捕捉錯誤,例如回撥的遺失引動。
[預設:30000]
--logLevel,-1
設定記錄層級。
[預設:"info"]
ThingWorx Flow CLI 可讓您先測試個別加工品,然後再 於伺服器部署連接器。這可協助您在部署連接器之前檢查加工品是否正常。
測試案例是使用 mocha-cha 架構所編寫。Mocha 用來定義測試套件, chai 作為宣告程式庫使用。所有測試案例都在 testData 資料夾下的特定加工品測試資料夾下定義。
test 指令可讓您在 ThingWorx Flow CLI 中測試加工品。
欲測試加工品,請從令提示執行下列指令:
1. cd <user project root directory>
2. flow test <artifactType> <name>
測試 OAuth 組態
OAuth 組態測試透過瀏覽器完成,因為每個 OAuth 提供者都有一個不同表單用來接受使用者認證。CLI 會在內部以 express web 伺服器執行,來處理在成功或失敗驗證時由 IdP 傳送的回應。
欲測試 oauth 組態,請執行下列操作:
1. 從專案目錄中,執行下列指令:
flow test oauth <oauth name>
成功登入後,OAuth 驗證器瀏覽器視窗會開啟。如需詳細資訊,請參閱教學專區中的範例。
2. 選取要測試的組態,然後按一下「驗證 OAuth 組態」或按一下「結束」。
測試連線
欲測試連線,請執行下列操作:
1. 從專案目錄中,執行下列指令:
npm install
2. 在封裝中建立測試資料檔案,並在其資料中填入您的服務提供者資訊。
檔案包含 <projectDir>\test\testData 中測試 connectionTestData 的範例資料,如下列程式碼所示。
module.exports = {
sampleInput : {
email : 'your-email-id-here',
subscription_id:'your-subscription-id',
account_url: 'your-account-url',
token: 'your-token'
},
sampleOutput : {
handle: {
email : 'your-email-id-here',
subscription_id:'your-subscription-id',
account_url: 'your-account-url',
token: 'your-token'
} }
}
3. 使用下列選項執行測試指令:
選項
描述
資料類型
--version
顯示版本編號。
[布林值]
--help
顯示說明。
[布林值]
--timeout
操作的逾時。--timeout 選項可指定以毫秒微單位的逾時 (預設為 30000 ms)。此選項可確保程式碼在指定時間內完成,且它會捕捉錯誤,例如回撥的遺失引動。
[預設:30000]
--logLevel,-1
設定記錄層級。
[預設:"info"]
--artifactVersion,-v
要測試之加工品的版本。
NA
--projectDir,-d
專案的父目錄。
NA
--input,-i
輸入變數的名稱。
NA
--output,-o
預期輸出變數的名稱。
NA
--testDataFile,-f
testData 檔案的路徑。
NA
--save,-s
儲存至使用者的認證存放區。
NA
--noSchemaValidation,-n
禁用結構描述驗證。
[預設:false]
如果 connectvalidate 方法都成功,執行測試會產生輸出。此指令也會檢查輸入與結構描述是否相符,輸出與預期輸出是否相符。
測試查詢
查詢的結構與其他加工品不同,版本化的方式與其他加工品也不同。名稱本身會作為版本使用。如果需要較新功能,會在查詢 JavasSript 檔案中以新名稱建立新查詢。執行 test 指令:
flow test lookup <name> <method>
可用選項包括:
選項
描述
資料類型
--version
顯示版本編號。
[布林值]
--help
顯示說明。
[布林值]
--timeout
操作的逾時。--timeout 選項可指定以毫秒微單位的逾時 (預設為 30000 ms)。此選項可確保程式碼在指定時間內完成,且它會捕捉錯誤,例如回撥的遺失引動。
[預設:30000]
--logLevel,-1
設定記錄層級。
[預設:"info"]
--projectDir,-d
專案的父目錄。
NA
--connection,-c
要插入之連線的 uid。
NA
--access_token,-a
預期輸出變數的名稱。
NA
--input,-i
testData 檔案的路徑。
NA
--output,-o
預期輸出變數的名稱。
NA
--testDataFile,-f
testData 檔案的路徑。
NA
--searchById
用於搜尋的 id。
NA
--searchByValue
用於搜尋的值。
NA
--filter
用來搜尋項目的篩選器。
NA
查詢有 searchByIdsearchByValue 這兩個搜尋選項,以及下列三個分頁相關選項。
查詢會一次傳回所有資料夾 此選項不需要任何動作。
應用程式支援的分頁 API 查詢程式碼會呼叫 getNextPage api,並將可以協助 服務從下一頁傳回資料的引數傳遞給它。當使用者在查詢欄位值的清單中按一下「載入更多」選項時,會將此資訊傳遞至查詢。
不支援的分頁 應用程式會查詢資料,且查詢服務會截斷資料,以僅顯示目前頁面及所有之前頁面的記錄。
測試動作
測試動作與測試查詢類似。
欲測試動作,請執行下列操作:
1. 將範例輸入與範例輸出 JSON 寫入到測試資料檔案中。關於輸入與輸出範例的資訊,請參閱 附錄 B
2. 從專案目錄中,使用下列選項執行測試指令:
選項
描述
資料類型
--version
顯示版本編號。
[布林值]
--help
顯示說明。
[布林值]
--timeout
操作的逾時。--timeout 選項可指定以毫秒微單位的逾時 (預設為 30000 ms)。此選項可確保程式碼在指定時間內完成,且它會捕捉錯誤,例如回撥的遺失引動。
[預設:30000]
--logLevel,-1
設定記錄層級。
[預設:"info"]
--artifactVersion,-v
要測試之加工品的版本。
[預設:"v1"]
--connection,-c
要插入之連線的 uid。
NA
--access_token,-a
預期輸出變數的名稱。
NA
--projectDir,-d
專案的父目錄。
[預設:"."]
--input,-i
testData 檔案的路徑。
NA
--output,-o
預期輸出變數的名稱。
NA
--testDataFile,-f
testData 檔案的路徑。
NA
--noSchemaValidation,-n
禁用結構描述驗證。
[預設:false]
測試觸發器
測試觸發器與測試動作、連線及查詢略有不同。您可使用下列選項執行測試指令:
下表描述可用於測試觸發器的各選項。
選項
描述
資料類型
--version
顯示版本編號。
[布林值]
--help
顯示說明。
[布林值]
--timeout
操作的逾時。--timeout 選項可指定以毫秒微單位的逾時 (預設為 30000 ms)。此選項可確保程式碼在指定時間內完成,且它會捕捉錯誤,例如回撥的遺失引動。
[預設:30000]
--logLevel,-1
設定記錄層級。
[預設:"info"]
--artifactVersion,-v
要測試之加工品的版本。
[預設:"v1"]
--connection,-c
要插入之連線的 uid。
NA
--access_token,-a
預期輸出變數的名稱。
NA
--projectDir,-d
專案的父目錄。
[預設:"."]
--input,-i
輸入變數的名稱。
NA
--output,-o
預期輸出變數的名稱。
NA
--testDataFile,-f
testData 檔案的路徑。
NA
--noSchemaValidation,-n
禁用結構描述驗證。
[預設:false]
--polling,-p
指示觸發器是輪詢觸發器。
NA
--event,-e
要測試的事件。
NA
--mockData,-m
保留事件 mockdata 之變數的名稱。
NA
--interval,-t
以秒為單位的觸發間隔。
[預設:15]
--stopAfter,-s
觸發器的呼叫數上限。
[預設:1]
您必須指定要測試哪一種方法。對於輪詢觸發器,方法為 executeactivate
有關測試各種加工品的範例,請參閱。