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
- Para saber mais sobre o toolkit de testes, veja Utilizar o toolkit de testes de modelos do ARM.
- Para testes de modelos do ARM, veja Casos de teste para modelos arm.
- Para testes createUiDefinition, veja Casos de teste para createUiDefinition.json.
- Para saber mais sobre os testes de todos os ficheiros, veja Casos de teste para todos os ficheiros.