프로젝트에서 이미지 관련 로직을 테스트하는 과정에서 Window 환경에서 개발한 코드는 Mac OS에서는 테스트가 실패하는 문제가 발생했습니다.
이 문제는 주로 파일 시스템 경로나 특정 OS 전용 기능의 차이에서 발생하는 오류입니다.
Mac OS, Windows, Linux와 같은 OS 간의 환경 차이로 인해 테스트가 실패하는 것 입니다.
예를 들어서 Windows에서는 C드라이브 경로를 이용하지만 Mac OS에서는 파일 시스템 경로가 유닉스 기반 경로 구조를 따르고 있습니다.
그래서 테스트를 특정 환경(Mac OS)에서만 비활성화하고, 다른 운영 체제에서는 정상적으로 수행하도록 조정이 필요했습니다.
@DisabledIfSystemProperty 애너테이션을 사용하면 간단하게 해결할 수 있습니다.
JUnit 5에서는 시스템 속성을 기준으로 테스트를 비활성화할 수 있는 애너테이션인 @DisabledIfSystemProperty를 제공하고 있습니다.
이 애너테이션을 활용해서 특정 OS에서의 테스트를 건너뛰도록 할 수 있습니다.
@DisabledIfSystemProperty(named = "os.name", matches = "Mac OS X")
@Test
void test() throws Exception {
}