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
, 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 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
- Para saber mais sobre o toolkit de testes, veja Utilizar o toolkit de testes de modelos do ARM.
- Para testes de modelos do ARM, veja Casos de teste para modelos do ARM
- Para testar ficheiros de parâmetros, veja Casos de teste para ficheiros de parâmetros.
- Para testes createUiDefinition, veja Test cases for createUiDefinition.json (Casos de teste para createUiDefinition.json)