Teilen über


Testfälle für alle Dateien

In diesem Artikel werden die Tests beschrieben, die mit dem Vorlagen-Testtoolkit für alle JSON-Dateien (JavaScript Object Notation) ausgeführt werden. Die Beispiele umfassen die Testnamen und Codebeispiele, die die Tests bestehen (pass) oder nicht bestehen (fail). Weitere Informationen zur Ausführungsweise von Tests oder eines bestimmten Tests finden Sie unter Testparameter.

Verwenden einer gültigen JSON-Syntax

Testname: JSONFiles Should Be Valid

Dieser Test überprüft, ob alle JSON-Dateien eine gültige Syntax enthalten. Klicken Sie in GitHub auf die Datei azuredeploy.json, azuredeploy.parameters.json oder createUiDefinition.json. Wenn der Test fehlschlägt, werden Fehler oder Warnungen für andere Tests oder die JSON-Analyse angezeigt.

Beispiel für eine Vorlagendatei

Das folgende Beispiel schlägt fehl, da in azuredeploy.json die führende geschweifte Klammer ({) in parameters, comboBox und location fehlt.

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

Das folgende Beispiel besteht den Test.

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

Beispiel für eine Parameterdatei

Das folgende Beispiel schlägt fehl, weil azuredeploy.parameters.json einen Parameter ohne value verwendet.

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

Das folgende Beispiel besteht den Test.

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

CreateUiDefintion-Beispiel

Das folgende Beispiel schlägt fehl, da in azuredeploy.json die führende geschweifte Klammer ({) in Abschnitt outputs fehlt.

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

Das folgende Beispiel besteht den Test.

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

Nächste Schritte