Casos de teste para todos os ficheiros

Este artigo descreve os testes que são executados com o toolkit de testes de modelos para todos os ficheiros JavaScript Object Notation (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.

Utilizar sintaxe JSON válida

Nome do teste: JSONFiles Deve Ser Válido

Este teste verifica se todos os ficheiros JSON contêm sintaxe válida. Por exemplo, ficheiros azuredeploy.json, azuredeploy.parameters.json ou createUiDefinition.json . Se o teste falhar, verá falhas ou avisos para outros testes ou análise JSON.

Exemplo de ficheiro de modelo

O exemplo seguinte falha porque em azuredeploy.json a chaveta à esquerda ({) está em falta em parameters, comboBoxe 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')]"
    }
  }
}

O exemplo seguinte passa.

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

Exemplo de ficheiro de parâmetros

O exemplo seguinte falha porque azuredeploy.parameters.json utiliza um parâmetro sem um value.

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

O exemplo seguinte passa.

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

Exemplo de CreateUiDefintion

O exemplo seguinte falha porque em createUiDefinition.json a chaveta à esquerda ({) está em falta na outputs secção .

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

O exemplo seguinte passa.

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

Passos seguintes