すべてのファイルのテスト ケース
この記事では、すべての JavaScript Object Notation (JSON) ファイルに対してテンプレート テスト ツールキットで実行されるテストについて説明します。 例には、テストに合格する、または不合格になるテスト名とコード サンプルが含まれています。 テストを実行する方法、または特定のテストを実行する方法の詳細については、「テスト パラメーター」を参照してください。
有効な JSON 構文を使用する
テスト名: JSONFiles Should Be Valid (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"
}
}
}
CreateUiDefintion の例
createUiDefinition.json の 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.json のテスト ケース」を参照してください