參數檔案的測試案例

本文說明使用 範本測試控管 組針對 參數檔執行的測試。 例如,名為 azuredeploy.parameters.js 的檔案。 這些範例包括測試名稱和 通過 或測試 失敗 的程式碼範例。 如需如何執行測試或如何執行特定測試的詳細資訊,請參閱 測試參數

此工具組包含 (ARM 範本的 Azure Resource Manager 範本的 測試案例) 以及名為 azuredeploy.jsonmaintemplate.js 的主要範本檔案。

使用有效的 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 應該有值

參數必須包含 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"
    }
  }
}

後續步驟