所有檔案的測試案例
本文說明針對所有 JavaScript 物件標記法 (JSON) 檔案,使用範本測試工具組執行的測試。 這些範例包括測試名稱和測試通過或失敗的程式碼範例。 如需如何執行測試或如何執行特定測試的詳細資訊,請參閱測試參數。
使用有效的 JSON 語法
測試名稱:JSONFiles 應該有效
此測試會檢查所有 JSON 檔案是否均包含有效語法。 例如 azuredeploy.json、azuredeploy.parameters.json 或 createUiDefinition.json 檔案。 如果測試失敗,您會看到其他測試的失敗或警告,或顯示 JSON 剖析。
範本檔案範例
下列範例會失敗,因為在 azuredeploy.json 中,parameters
、comboBox
和 location
遺漏前置大括弧 ({
)。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters":
"comboBox":
"type": "string"
},
"location":
"type": "string"
}
},
"resources": [],
"outputs": {
"comboBox": {
"type": "string",
"value": "[parameters('comboBox')]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
下列範例會通過。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"comboBox": {
"type": "string"
},
"location": {
"type": "string"
}
},
"resources": [],
"outputs": {
"comboBox": {
"type": "string",
"value": "[parameters('comboBox')]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
參數檔案範例
下列範例會失敗,因為 azuredeploy.parameters.json 使用沒有 value
的參數。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value":
}
}
}
下列範例會通過。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value": "westus"
}
}
}
CreateUiDefinition 範例
下列範例會失敗,因為在createUiDefinition 中,outputs
區段遺漏前置大括弧 ({
)。
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs":
"comboBox": "[basics('comboBox')]",
"location": "[location()]"
}
}
}
下列範例會通過。
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]",
"location": "[location()]"
}
}
}
下一步
- 若要了解測試工具組,請參閱使用 ARM 範本測試工具組。
- 針對 ARM 範本測試,請參閱 ARM 範本的測試案例
- 若要測試參數檔案,請參閱參數檔案的測試案例。
- 針對 createUiDefinition 測試,請參閱 createUiDefinition 的測試案例