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


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

В этой статье описываются тесты, выполняемые с помощью набора средств тестирования шаблона для файлов параметров. Например, файл с именем azuredeploy.parameters.json. Примеры включают имена тестов и примеры кода, которые пройдут или не проходят тесты. Дополнительные сведения о том, как выполнять тесты или как выполнять определенный тест, см. в разделе "Параметры теста".

Набор средств включает тестовые варианты для шаблонов Azure Resource Manager (шаблонов ARM) и основных файлов шаблонов с именемazuredeploy.json или maintemplate.json.

Используйте действительную версию содержимого

Имя теста: 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 для передачи значения безопасного параметра во время развертывания".

В следующем примере произойдет ошибка из-за отсутствия stgAcctNamevalue.

{
  "$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"
    }
  }
}

Дальнейшие шаги