처음으로 적용한 후 test.txt 파일이 C:\test 폴더에 나타나야 합니다.After applying it for the first time, file test.txt should appear in C:\test folder.그러나 동일한 구성의 후속 실행에서도 컴퓨터의 상태는 변경되지 않아야 합니다. 예를 들어 test.txt 파일의 복사본이 만들어지지 않아야 합니다.However, subsequent runs of the same configuration should not change the state of the machine (e.g. no copies of the test.txt file should be created).리소스가 idempotent인지 확인하려면 리소스를 직접 테스트할 때 Set-TargetResource를 반복적으로 호출하거나 종단 간 테스트를 수행할 때 Start-DscConfiguration을 여러 번 호출할 수 있습니다.To ensure a resource is idempotent you can repeatedly call Set-TargetResource when testing the resource directly, or call Start-DscConfiguration multiple times when doing end to end testing.결과는 모든 실행 후에 동일해야 합니다.The result should be the same after every run.

테스트 사용자 수정 시나리오Test user modification scenario

컴퓨터의 상태를 변경한 다음 DSC를 다시 실행하면 Set-TargetResource 및 Test-TargetResource가 올바르게 작동하는지 확인할 수 있습니다.By changing the state of the machine and then rerunning DSC, you can verify that Set-TargetResource and Test-TargetResource function properly.수행해야 하는 단계는 다음과 같습니다.Here are steps you should take:

원하는 상태가 아닌 리소스에서 시작합니다.Start with the resource not in the desired state.

Get-TargetResource는 리소스의 현재 상태에 대한 세부 정보를 반환해야 합니다.Get-TargetResource should return details of the current state of the resource.구성을 적용한 후 Get-DscConfiguration을 호출하고 출력에 컴퓨터의 현재 상태가 올바르게 반영되는지 확인하여 테스트해야 합니다.Make sure to test it by calling Get-DscConfiguration after you apply the configuration and verifying that output correctly reflects the current state of the machine.Start-DscConfiguration을 호출할 때 이 영역의 문제가 나타나지 않으므로 별도로 테스트해야 합니다.It's important to test it separately, since any issues in this area won't appear when calling Start-DscConfiguration.

Windows 클라이언트에서 확인(해당되는 경우)Verify on Windows Client (if applicable)

매우 일반적인 테스트 간격은 Windows의 서버 버전에서만 리소스를 확인하는 것입니다.One very common test gap is verifying the resource only on server versions of Windows.또한 많은 리소스가 클라이언트 SKU에서 작동하도록 설계되었으므로 해당되는 경우 해당 플랫폼에서도 테스트해야 합니다.Many resources are also designed to work on Client SKUs, so if that’s true in your case, don’t forget to test it on those platforms as well.

먼저 모듈에 포함될 예제를 결정해야 합니다. 최소한 리소스에 대한 가장 중요한 사용 사례를 포함해야 합니다.First, you should determine the examples that will be included with the module – at minimum, you should cover most important use cases for your resource:

예제 스크립트의 끝에 실제 값으로 구성을 호출하는 방법에 대한 예제를 포함(주석으로 처리)하는 것이 좋습니다.It’s a good practice to include (commented out) example of how to call the configuration with the actual values at the end of the example script.예를 들어 위의 구성에서는 UserAgent를 지정하는 가장 좋은 방법이 다음과 같은지 확실하지 않습니다.For example, in the configuration above it isn't necessarily obvious that the best way to specify UserAgent is:

-WhatIf 스위치를 사용하여 구성을 컴파일한 다음 실행하면 출력에서 구성을 실행할 때 수행된 작업을 정확하게 알려줍니다.If we compile and then execute the configuration with the -WhatIf switch, the output is telling us exactly what would happen when we run the configuration.그러나 구성 자체는 실행되지 않았습니다. test.txt 파일이 생성되지 않았습니다.The configuration itself however was not executed (test.txt file was not created).