Тестовые случаи для файлов параметров
В этой статье описываются тесты, выполняемые набором средств тестирования шаблона для файлов параметров. Например, имеется файл azuredeploy.parameters.json. Примеры включают тестовые имена и примеры кода, которые влияют на результат прохождения тестов (пройден или не пройден). Подробные сведения о выполнении тестов или какого-то определенного теста см. в разделе Параметры тестирования.
Набор средств включает тестовые случаи для шаблонов Azure Resource Manager (шаблонов ARM) и основные файлы шаблона — azuredeploy.json или maintemplate.json.
Использование допустимого параметра contentVersion
Имя теста: в файле DeploymentParameters должен иметься параметр contentVersion
Параметр contentVersion
должен содержать строку в формате 1.0.0.0
, а также должен содержать только числа.
Следующий пример не проходит тест, поскольку отсутствует contentVersion
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Следующий пример не проходит тест, поскольку contentVersion
не является строкой.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": {},
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Следующий пример проходит тест.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Файл должен включать параметры
Имя теста: в файле DeploymentParameters должны иметься параметры
Файл параметров должен включать раздел parameters
.
Следующий пример не проходит тест.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
}
Следующий пример проходит тест.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Использование допустимой версии схемы
Имя теста: в файле DeploymentParameters должна иметься схема
Файл параметров должен содержать допустимую версию схемы.
Существует две допустимые версии схемы для файлов параметров:
https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#
https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#
Следующий пример не проходит тест.
{
"$schema": "https://schema.management.azure.com/schemas/2021-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Следующий пример проходит тест.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Параметры должны содержать значения
Имя теста: в файле DeploymentParameters должны иметься значения
Параметр должен содержать value
или reference
. Для секретов, таких как пароль, хранилище ключей использует reference
в файле параметров. Дополнительные сведения см. в статье Использование Azure Key Vault для передачи защищенного значения параметра во время развертывания.
Следующий пример не проходит тест, поскольку в stgAcctName
отсутствует value
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stgAcctName": {}
}
}
Следующий пример проходит тест.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stgAcctName": {
"value": "demostorage01"
}
}
}
Следующие шаги
- Дополнительные сведения о наборе средств тестирования см. в статье Использование набора средств тестирования ARM.
- Тесты шаблонов ARM см. в разделе Тестовые случаи для шаблонов ARM.
- Информацию о createUiDefinition tests см. в статье Тестовые случаи для createUiDefinition.json.
- См. дополнительные сведения о тестах для всех файлов.