Partager via


Cas de test pour tous les fichiers

Cet article décrit les tests exécutés avec le kit de ressources de test de modèle pour tous les fichiers JSON (JavaScript Object Notation). Les exemples incluent les noms des tests et des exemples de code avec lesquels les tests réussissent ou échouent. Pour plus d’informations sur l’exécution de tests ou sur l’exécution d’un test spécifique, consultez Paramètres de test.

Utiliser une syntaxe JSON valide

Nom du test : JSONFiles Should Be Valid (Les fichiers JSON doivent être valides)

Ce test vérifie que tous les fichiers JSON contiennent une syntaxe valide, par exemple les fichiers azuredeploy.json, azuredeploy.parameters.json ou createUiDefinition.json. Si le test échoue, vous constaterez des échecs ou verrez des avertissements pour d’autres tests ou l’analyse JSON.

Exemple de fichier de modèle

Dans l’exemple suivant, le test échoue, car parameters, comboBoxet location dans le fichier azuredeploy.json ne contiennent pas l’accolade ouvrante ({).

{
  "$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')]"
    }
  }
}

Dans l’exemple suivant, le test réussit.

{
  "$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')]"
    }
  }
}

Exemple avec un fichier de paramètres

Dans l’exemple suivant, le test échoue, car azuredeploy.parameters.json utilise un paramètre sans value.

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

Dans l’exemple suivant, le test réussit.

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

Exemple avec CreateUiDefintion

Dans l’exemple suivant, le test échoue, car la section outputs dans le fichier createUiDefinition.json ne contient pas l’accolade ouvrante ({).

{
  "$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()]"
    }
  }
}

Dans l’exemple suivant, le test réussit.

{
  "$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()]"
    }
  }
}

Étapes suivantes