Partilhar via


Casos de teste para todos os arquivos

Este artigo descreve os testes que são executados com o kit de ferramentas de teste de modelo para todos os arquivos JSON (JavaScript Object Notation). 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, consulte Parâmetros de teste.

Usar sintaxe JSON válida

Nome do teste: JSONFiles deve ser válido

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

Exemplo de arquivo de modelo

O exemplo a seguir falha porque em azuredeploy.json a chave principal ({) está ausente de 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 a seguir 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 arquivo de parâmetro

O exemplo a seguir falha porque azuredeploy.parameters.json usa um parâmetro sem um valuearquivo .

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

O exemplo a seguir passa.

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

Exemplo de CreateUiDefinition

O exemplo a seguir falha porque em createUiDefinition.json a chave principal ({) está ausente da outputs seçã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 a seguir 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()]"
    }
  }
}

Próximos passos