参数文件测试用例

本文介绍使用模板测试工具包参数文件运行的测试。 例如,对名为 azuredeploy.parameters.json 的文件运行的测试。 这些示例包括测试名称以及通过或未通过测试的代码示例 。 有关如何运行测试或如何运行特定测试的详细信息,请参阅测试参数

该工具包包括适用于 Azure 资源管理器模板(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"
    }
  }
}

文件必须包含 parameters

测试名称:DeploymentParameters 应包含 Parameters

参数文件必须包含 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 应包含 Schema

参数文件必须包含有效架构版本。

参数文件有两个有效架构版本:

  • 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

参数必须包含 valuereference。 对于机密(例如密码),密钥保管库将使用参数文件中的 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"
    }
  }
}

后续步骤