소프트웨어 개발의 동적 영역에서는 자동화된 테스트를 통해 애플리케이션 품질을 보장하는 것이 중요합니다. 자동화된 테스트에는 특정 파일 및 디렉터리 설정이 필요한 수많은 테스트 실행이 포함됩니다. 테스트 환경을 효율적으로 설정하고 해체하는 것은 이 프로세스의 중요한 부분이며, 적절한 도구가 없으면 지루하고 오류가 발생하기 쉬운 작업이 될 수 있습니다.
작업을 단순화하는 데 적합한 도구를 찾으면 큰 변화를 가져올 수 있습니다. Shutil로 알려진 표준 유틸리티 모듈은 Shell Utility의 약어입니다. 테스트 환경 관리를 단순화할 수 있는 파일 및 디렉터리 복사, 이동 및 제거를 위한 높은 수준의 파일 작업을 제공합니다. 이 블로그에서는 quitil 모듈이 자동화된 소프트웨어 테스트에서 파일 작업을 간소화할 수 있는 방법을 설명합니다.
각 테스트가 올바른 환경에서 시작되도록 하려면 설정 프로세스를 자동화하여 일관되고 격리된 테스트 환경을 조성해야 합니다.
Shutil 모듈은 Python 표준 라이브러리의 일부이므로 추가로 설치할 필요가 없습니다. 스크립트 시작 부분에서 간단히 가져오세요.
# Import shell utility module import shutil
애플리케이션을 테스트하는 동안 특정 데이터 파일 세트가 필요한 경우가 많습니다. 파일을 수동으로 복사하는 대신, 일반적인 네 가지 방법을 사용하면 shutdown 모듈을 사용하여 파일을 쉽고 효율적으로 복사할 수 있습니다.
shutil.copy(source, destination, *, follow_symlinks=True)
이 메서드는 소스 파일을 대상에 지정된 디렉터리 또는 파일에 복사하고 파일의 대상을 반환합니다. 파일의 데이터와 파일의 권한 모드를 복사하지만 복사된 파일의 메타데이터(파일 생성 및 수정 시간)는 유지되지 않습니다. 소스와 대상은 경로류 객체 또는 문자열이어야 합니다. 대상은 파일 또는 디렉터리를 모두 지정할 수 있습니다. 대상이 디렉터리 경로를 지정하는 경우 파일은 원본 경로의 파일 이름을 사용하여 대상 디렉터리에 복사됩니다.
심볼릭 링크로 작업하는 동안:
follow_symlinks=True인 경우 대상은 소스의 심볼릭 링크가 가리키는 파일의 복사본이 됩니다. 매개변수 follow_symlinks의 기본값은 True입니다.
follow_symlinks=False인 경우 대상이 심볼릭 링크로 생성됩니다.
# Import shell utility module import shutil # Copy the content of source_file.txt to destination_file.txt shutil.copy('source_file.txt', 'destination_file.txt')
shutil.copy2(source, destination, *, follow_symlinks=True)
shutil.copy2() 메서드는 파일의 모든 메타데이터를 보존하는 추가 기능을 제공합니다. 다른 특징은 shutdown.copy() 메서드와 동일합니다. 대상은 파일 또는 디렉터리를 모두 지정할 수 있습니다. 대상이 디렉터리인 경우 원본 파일 이름과 동일한 이름으로 파일이 복사됩니다.
# Import shell utility module import shutil # Copy the content of source_file.txt to destination_file.txt shutil.copy2('source_file.txt', 'destination_file.txt')
그래픽 파일 관리자에서 키보드 단축키를 사용하여 파일을 복사하고 붙여넣는 것과 동일한 결과를 프로그래밍 방식으로 얻을 수 있도록 대부분의 관련 메타데이터와 함께 파일 내용을 복사하므로 테스트를 자동화하는 동안 이 방법을 사용했습니다. 그래픽 파일 관리자에서 마우스를 사용하여 일반적인 복사 및 붙여넣기 작업의 동작을 복제합니다.
shutil.copyfile(source, destination, *, follow_symlinks=True)
이 방법을 사용하면 파일 콘텐츠가 메타데이터 없이 소스에서 대상으로 복사됩니다. 소스와 대상은 경로류 객체 또는 문자열이어야 합니다. 대상 경로는 파일 경로만 지정할 수 있고 디렉터리 경로는 지정할 수 없습니다.
# Import shell utility module import shutil # Copy the content of source_file.txt to destination_file.txt shutil.copyfile('source_file.txt', 'destination_file.txt')
shutil.copyfileobj(fsrc, fdst, length)
이 메서드는 소스 파일 객체의 내용을 대상 파일 객체에 복사합니다. 소스와 대상은 파일류 객체여야 합니다. 메타데이터를 보존하지 않으며 어떤 값도 반환하지 않습니다. 선택적 길이 매개변수는 버퍼 크기에 대한 정수 값을 지정합니다.
# Import shell utility module import shutil # Create file objects source_file_object = open("../hello.txt", "r") destination_file_object = open("CopyFile/copyFalseSrcPath.txt", "w") # Copy the content of the file object to another file object shutil.copyfileobj(source_file_object, destination_file_object)
각 방법은 파일 작업의 다양한 측면을 제공하여 다양한 테스트 요구 사항을 충족할 수 있는 유연성과 성능을 제공합니다. Python의 shutdown 모듈은 소프트웨어 테스트에서 효율적인 파일 작업을 위한 필수 도구를 제공합니다:
테스트를 자동화하는 동안 도움이 될 수 있는 일반적으로 사용되는 유틸리티 기능은 다음과 같습니다.
더 많은 유틸리티 기능과 자세한 설명은 공식 문서에서 확인할 수 있습니다.
Python의 Shutil 모듈은 소프트웨어 테스트뿐만 아니라 버전 제어 및 배포, 데이터 과학 및 기계 학습, IT 및 시스템 관리, 연구 및 학계 등 다양한 소프트웨어 개발 분야에서 다목적 도구 세트 역할을 합니다. 더.
Shutil을 테스트 프로세스에 통합하면 최소한의 코드로 복잡한 파일 작업을 수행할 수 있어 시간과 노력을 절약하고 고품질 소프트웨어 개발에 집중할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3