Compartir a través de


Casos de prueba de todos los archivos

En este artículo se describen las pruebas que se ejecutan con el kit de pruebas de plantillas en todos los archivos JSON. Los ejemplos incluye 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.

Uso de una sintaxis JSON válida

Nombre de prueba: JSONFiles debe ser válido

Esta prueba comprueba que todos los archivos JSON contienen una sintaxis válida. Por ejemplo, los archivos azuredeploy.json, azuredeploy.parameters.json o createUiDefinition.json. Si se produce un error en la prueba, verá errores o advertencias en otras pruebas o análisis de JSON.

Ejemplo de archivo de plantilla

En el ejemplo siguiente se produce un error porque en azuredeploy.json la llave inicial ({) falta en parameters, comboBox y location.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters":
    "comboBox":
      "type": "string"
    },
    "location":
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "comboBox": {
      "type": "string",
      "value": "[parameters('comboBox')]"
    },
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    }
  }
}

El ejemplo siguiente pasa la prueba.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "comboBox": {
      "type": "string"
    },
    "location": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "comboBox": {
      "type": "string",
      "value": "[parameters('comboBox')]"
    },
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    }
  }
}

Ejemplo de archivo de parámetros

El siguiente ejemplo se produce un error porque azuredeploy.parameters.json usa un parámetro sin un value.

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

El ejemplo siguiente pasa la prueba.

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

Ejemplo de CreateUiDefintion

En el ejemplo siguiente se produce un error porque en createUiDefinition.json la llave inicial ({) falta en la sección outputs.

{
  "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
  "handler": "Microsoft.Azure.CreateUIDef",
  "version": "0.1.2-preview",
  "parameters": {
    "basics": [
      {
        "name": "comboBox",
        "type": "Microsoft.Common.DropDown",
        "label": "Example drop down",
        "toolTip": "This is a tool tip"
      }
    ],
    "steps": [],
    "outputs":
      "comboBox": "[basics('comboBox')]",
      "location": "[location()]"
    }
  }
}

El ejemplo siguiente pasa la prueba.

{
  "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
  "handler": "Microsoft.Azure.CreateUIDef",
  "version": "0.1.2-preview",
  "parameters": {
    "basics": [
      {
        "name": "comboBox",
        "type": "Microsoft.Common.DropDown",
        "label": "Example drop down",
        "toolTip": "This is a tool tip"
      }
    ],
    "steps": [],
    "outputs": {
      "comboBox": "[basics('comboBox')]",
      "location": "[location()]"
    }
  }
}

Pasos siguientes