[java] PowerMock에서의 환경 변수 값 확인

PowerMock에서 환경 변수 값을 확인하는 방법은 간단합니다. System 클래스의 getenv() 메서드를 사용하여 원하는 환경 변수의 값을 가져올 수 있습니다.

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import static org.junit.Assert.assertEquals;
import static org.powermock.api.mockito.PowerMockito.mockStatic;

@RunWith(PowerMockRunner.class)
@PrepareForTest(System.class)
public class ExampleTest {
    
    @Test
    public void testEnvironmentVariable() {
        String expectedValue = "TEST_VALUE";
        String actualValue = "DEFAULT_VALUE";

        // 환경 변수 값 설정
        mockStatic(System.class);
        when(System.getenv("ENV_VAR_NAME")).thenReturn(expectedValue);

        // 테스트 코드에서 환경 변수 값 확인
        actualValue = System.getenv("ENV_VAR_NAME");

        // 값이 올바른지 확인
        assertEquals(expectedValue, actualValue);
    }
}

위의 코드에서는 PowerMock와 JUnit을 사용하여 환경 변수 값을 확인하는 간단한 테스트를 수행합니다. @RunWith(PowerMockRunner.class) 어노테이션은 PowerMock을 JUnit과 함께 사용할 수 있도록 해줍니다. @PrepareForTest(System.class) 어노테이션은 System 클래스의 getenv() 메서드를 모의화(mocking)하기 위해 필요합니다.

테스트 메서드 testEnvironmentVariable()에서는 System 클래스의 getenv() 메서드를 모의화하여 환경 변수 값 설정과 확인을 수행합니다. when(System.getenv("ENV_VAR_NAME")).thenReturn(expectedValue); 구문을 사용하여 ENV_VAR_NAME이라는 환경 변수의 값을 expectedValue로 설정합니다. 그리고 System.getenv("ENV_VAR_NAME"); 코드를 실행하여 환경 변수 값을 가져와 actualValue에 할당합니다.

마지막으로 assertEquals(expectedValue, actualValue); 코드를 사용하여 기대값과 실제값이 일치하는지 확인합니다.

환경 변수 값을 확인하는 이러한 방법을 사용하면 PowerMock를 사용하여 Java 단위 테스트에서 환경 변수 값을 손쉽게 확인할 수 있습니다.


참고: