Casos de teste para todos os arquivos
Este artigo descreve os testes executados com o kit de ferramentas de teste do modelo para todos os arquivos JSON (JavaScript Object Notation). Os exemplos incluem os nomes de teste e exemplos de código que aprovam ou reprovam os testes. Para obter mais informações sobre como executar testes ou como executar um teste específico, confira Parâmetros de teste.
Usar sintaxe JSON válida
Nome do teste: JSONFiles devem ser válidos
Este teste verifica se todos os arquivos JSON contêm uma sintaxe válida. Por exemplo, arquivos azuredeploy.json, azuredeploy.parameters.json ou createUiDefinition.json. Se o teste falhar, você verá falhas ou avisos para outros testes ou análise de JSON.
Exemplo de arquivo de modelo
O exemplo a seguir falha porque em azuredeploy.json a chave inicial ({
) não está presente em parameters
, comboBox
e 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 é aprovado.
{
"$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 value
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value":
}
}
}
O exemplo a seguir é aprovado.
{
"$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 a seguir falha porque em createUiDefinition.json a chave de início ({
) não está presenta na seção 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()]"
}
}
}
O exemplo a seguir é aprovado.
{
"$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óximas etapas
- Para saber mais sobre como kit de ferramentas de teste, confira Usar o kit de ferramentas do modelo do ARM.
- Para testes de modelo do ARM, confira Casos de teste para modelos do ARM
- Para testar arquivos de parâmetros, confira Casos de teste para arquivos de parâmetros.
- Para testes createUiDefinition, confira Casos de teste para createUiDefinition.json