Partilhar via


Casos de teste para ficheiros de parâmetros

Este artigo descreve os testes que são executados com o toolkit de testes de modelos para ficheiros de parâmetros. Por exemplo, um ficheiro com o nome azuredeploy.parameters.json. Os exemplos incluem os nomes de teste e exemplos de código que passam ou falham nos testes. Para obter mais informações sobre como executar testes ou como executar um teste específico, veja Parâmetros de teste.

O toolkit inclui casos de teste para modelos de Resource Manager do Azure (modelos arm) e os ficheiros de modelo principais com o nome azuredeploy.json ou maintemplate.json.

Utilizar conteúdo válidoVersion

Nome do teste: DeploymentParameters Should Have ContentVersion

O contentVersion tem de conter uma cadeia no formato 1.0.0.0 e utilizar apenas números.

O exemplo seguinte falha porque o contentVersion está em falta.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

O exemplo seguinte falha porque contentVersion não é uma cadeia.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": {},
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

O exemplo seguinte passa.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

O ficheiro tem de incluir parâmetros

Nome do teste: DeploymentParameters Should Have Parameters

Um ficheiro de parâmetros tem de incluir a parameters secção .

O exemplo seguinte falha.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
}

O exemplo seguinte passa.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

Utilizar uma versão de esquema válida

Nome do teste: DeploymentParameters Should Have Schema

O ficheiro de parâmetros tem de incluir uma versão de esquema válida.

Existem duas versões de esquema válidas para ficheiros de parâmetros:

  • https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#
  • https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#

O exemplo seguinte falha.

{
  "$schema": "https://schema.management.azure.com/schemas/2021-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

O exemplo seguinte passa.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

Os parâmetros têm de conter valores

Nome do teste: DeploymentParameters Should Have Value

Um parâmetro tem de conter um value ou um reference. Para segredos como uma palavra-passe, um cofre de chaves utiliza um reference no ficheiro de parâmetros. Para obter mais informações, veja Utilizar o Azure Key Vault para transmitir o valor do parâmetro seguro durante a implementação.

O exemplo seguinte falha porque stgAcctName não tem um value.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stgAcctName": {}
  }
}

O exemplo seguinte passa.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stgAcctName": {
      "value": "demostorage01"
    }
  }
}

Passos seguintes