Compartir vía


Casos de prueba para archivos de parámetros

En este artículo se describen las pruebas que se ejecutan con el kit de herramientas para pruebas de plantillas para archivos de parámetros. Por ejemplo, un archivo denominado azuredeploy.parameters.json. En los ejemplos se incluyen los nombres de las pruebas y los ejemplos de código que pasan o no pasan las pruebas. Para más información sobre cómo ejecutar pruebas o sobre la ejecución de una prueba específica, consulte Parámetros de prueba.

El kit de herramientas incluye casos de prueba para plantillas de Azure Resource Manager (plantillas de ARM) y los archivos principales de plantilla denominados azuredeploy.json o maintemplate.json.

Uso de un elemento contentVersion válido

Nombre de prueba: DeploymentParameters debe contener un elemento ContentVersion.

contentVersion debe contener una cadena en el formato 1.0.0.0 y usar solo números.

El ejemplo siguiente no pasa la prueba porque falta contentVersion.

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

El ejemplo siguiente no pasa la prueba porque contentVersion no es una cadena.

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

El ejemplo siguiente pasa la prueba.

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

El archivo debe incluir parámetros

Nombre de prueba: DeploymentParameters debe contener un elemento Parameters.

Un archivo de parámetros debe incluir la sección parameters.

El ejemplo siguiente no pasa la prueba.

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

El ejemplo siguiente pasa la prueba.

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

Uso de una versión de esquema válida

Nombre de prueba: DeploymentParameters debe contener un elemento Schema.

El archivo de parámetros debe incluir una versión de esquema válida.

Hay dos versiones de esquema válidas para los archivos 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#

El ejemplo siguiente no pasa la prueba.

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

El ejemplo siguiente pasa la prueba.

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

Los parámetros deben contener valores

Nombre de prueba: DeploymentParameters debe contener un elemento Value.

Un parámetro debe contener value o reference. En el caso de secretos, como una contraseña, un almacén de claves usa reference en el archivo de parámetros. Para más información, consulte Uso de Azure Key Vault para pasar el valor de parámetro seguro durante la implementación.

El ejemplo siguiente no pasa la prueba porque stgAcctName no contiene un elemento value.

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

El ejemplo siguiente pasa la prueba.

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

Pasos siguientes