3

Azure ARM 템플릿을 테스트하고 이들이 로컬 VM에서 올바르게 쓰여지는지 여부를 검증하는 방법. Power Shell에서 시도했지만 유효성 검사 만합니다. 유닛 테스트하려면 ARM 템플릿을 테스트하십시오Azure ARM 템플릿 테스팅

+0

이 powershell cmdlet을 사용하여 테스트 했습니까? 'Test-AzureRmResourceGroupDeployment' –

답변

8

단위 테스트PESTER을 사용하여 ARM 템플릿을 수행 할 수 있습니다. 당신이 냄새에 익숙하지 않은 경우 this document을 참조하십시오.

예 ARM 템플릿

시험되는 예 서식 관리되거나 관리되지 않은 디스크가 VM을 위해 사용되는지를 선택할 수 있습니다. 템플릿은 여기 https://github.com/bentaylorwork/azure-arm-templates/tree/master/disk-management-selection에서 찾을 수 있습니다. 올바른 디스크 유형이 VM의 디스크를 관리되거나 관리되지 디스크에 기초하는지 여부에 대한 사용자 입력에 기초하여 배치되는 경우

예 훼방 시험 훼방 테스트 아래 확인한다. 파일은 여기에서 찾을 수 있습니다. https://github.com/bentaylorwork/azure-arm-templates/blob/master/disk-management-selection/tests/unit.tests.ps1 로컬 컴퓨터에 test.ps1 파일로 저장할 수 있습니다. 테스트를 실행

참고 : 블로그의 스크립트는 $parameterHash 정의되지에 오류가 있습니다, 그래서, 당신은 실행 내 다음 스크립트를 사용할 수 있습니다

<# 
    Steps to run: 
    1) Login to Azure 
    2) Select correct subscription 
    3) Alter the path below to where you have the have saved the pester test locally 
#> 

$pesterParamters = @{ 
    Path  = 'C:\Users\Administrator\Desktop\test.ps1' 
    Parameters = @{ 
         templateUri     = 'https://raw.githubusercontent.com/bentaylorwork/azure-arm-templates/master/disk-management-selection/azuredeploy.json' 
         templateParameterObject  = @{ 
          resourcePrefix = 'pester' 
          adminPassword = 'SuperSecurePlainTextPassword123!!' 
         } 
        } 
} 

$parameterHash= @{ 
          resourcePrefix = 'pester' 
          adminPassword = 'SuperSecurePlainTextPassword123!!' 
         } 

Invoke-Pester -Script $pesterParamters 

예제 출력에서 성공적인 시험

enter image description here

pester가있는 ARM 템플릿의 단위 테스트 조건에 대한 자세한 내용은 this blog을 참조하십시오.

또한 ARM 템플릿을 확인하는 도구 인 Azure ARM 템플릿 체커를 사용하는 것이 좋습니다. 템플릿에 사용 된 모든 매개 변수 또는 변수가 정의되어 있는지 확인하는 것은 빠르고 지저분한 도구입니다. this link에서 ARM 템플릿 검사기에 대한 자세한 내용을 볼 수 있습니다.

+0

고마워요 .. 정말 도움이되는 내용입니다. –

+0

안녕, @ SachidanandSharma. 나는 그것이 당신에게 도움이된다는 소식을 듣게되어 기쁩니다. 더 많은 커뮤니티를 도울 수 있도록 답변으로 표시 할 수 있습니다! 감사! –

관련 문제