Поделиться через


Тестовые случаи для файлов параметров

В этой статье описываются тесты, выполняемые набором средств тестирования шаблона для файлов параметров. Например, имеется файл 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"
    }
  }
}

Следующие шаги