Тестовые случаи для всех файлов
В этой статье описываются тесты, выполняемые набором средств тестирования шаблона для всех файлов нотации объектов JavaScript (JSON). Примеры включают тестовые имена и примеры кода, которые влияют на результат прохождения тестов (пройден или не пройден). Дополнительные сведения о выполнении тестов или какого-то определенного теста см. в разделе Параметры тестирования.
Использование допустимого синтаксиса JSON
Имя теста: JSON-файлы должны быть допустимыми
Этот тест проверяет, содержат ли все 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.