如何实现ARM模板的测试用例

时间:2018-04-04 06:11:36

标签: azure azure-resource-manager testcase arm-template

目前,我正在使用Azure ARM模板,我为Web应用程序和SQL数据库开发了ARM模板,并通过配置CI和CD,通过VSTS将这些模板部署到azure中。

但我想测试Azure ARM模板并验证它们是否正确写入。为此,我使用了ARM VSTS任务,但它只是验证。

在此处发布问题之前,我按照link进行了操作,但我不明白答案。

那么,有人可以就如何测试ARM模板提出建议吗?

2 个答案:

答案 0 :(得分:0)

无法真正测试ARM模板。测试ARM模板的唯一真正方法是部署它并验证是否正在创建适当的资源。你可以编写脚本,但这需要付出很多努力。

list.size()主要是无用的,因为它只验证有用的语法,但并不能真正保证模板能够按照您的想法行事。

我无法想象为ARM模板创建适当的测试有多难,我没有从投入时间为ARM模板创建测试中看到很多价值。我通常使用帮助程序脚本,只是将模板部署到开发环境中,我会快速验证它。对ARM模板的大多数更改(即使是非常复杂的)都不需要验证。

答案 1 :(得分:0)

我们有太多方法可以测试ARM模板。您可以在CI / CD管道中考虑两个测试。

  • 部署前测试:

这可以使用以下命令来完成:

Test-AzureRmResourceGroupDeployment

要获得对要部署的内容的更多控制,可以使用Pester + Powershell,编写测试方案并将其添加为CI管道中的步骤。

将提供一个称为“假设”的新功能(根据Build 2019 ARM模板会话)

  • 部署后测试:

对于部署后测试,您可以编写JSON来定义预期的资源(按名称),然后编写脚本以将JSON定义与已部署的资源进行比较。