Przypadki testowe dla wszystkich plików
W tym artykule opisano testy uruchamiane przy użyciu zestawu narzędzi do testowania szablonu dla wszystkich plików JSON (JavaScript Object Notation). Przykłady obejmują nazwy testów i przykłady kodu, które przechodzą testy lub kończą się niepowodzeniem. Aby uzyskać więcej informacji na temat uruchamiania testów lub uruchamiania określonego testu, zobacz Parametry testu.
Użyj prawidłowej składni JSON
Nazwa testu: Pliki JSON powinny być prawidłowe
Ten test sprawdza, czy wszystkie pliki JSON zawierają prawidłową składnię. Na przykład pliki azuredeploy.json, azuredeploy.parameters.json lub createUiDefinition.json . Jeśli test zakończy się niepowodzeniem, zobaczysz błędy lub ostrzeżenia dotyczące innych testów lub analizowania kodu JSON.
Przykład pliku szablonu
Poniższy przykład kończy się niepowodzeniem, ponieważ w azuredeploy.json brakuje wiodącego nawiasu klamrowego ({
) z parameters
, comboBox
i 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')]"
}
}
}
Poniższy przykład przekazuje.
{
"$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')]"
}
}
}
Przykład pliku parametrów
Poniższy przykład kończy się niepowodzeniem , ponieważ azuredeploy.parameters.json używa parametru bez parametru value
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value":
}
}
}
Poniższy przykład przekazuje.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value": "westus"
}
}
}
Przykład createUiDefinition
Poniższy przykład kończy się niepowodzeniem, ponieważ w createUiDefinition.json w sekcji brakuje wiodącego nawiasu klamrowego 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()]"
}
}
}
Poniższy przykład przekazuje.
{
"$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()]"
}
}
}
Następne kroki
- Aby dowiedzieć się więcej na temat zestawu narzędzi do testowania, zobacz Korzystanie z zestawu narzędzi do testowania szablonu usługi ARM.
- Aby zapoznać się z testami szablonów usługi ARM, zobacz Przypadki testowe dla szablonów usługi ARM
- Aby przetestować pliki parametrów, zobacz Przypadki testowe dla plików parametrów.
- Aby uzyskać informacje o testach createUiDefinition, zobacz Przypadki testowe dla createUiDefinition.json