파이썬에서 unittest.mock를 사용한 모킹(Mocking)은 외부 서비스의 응답과 같은 복잡한 논리 또는 예측할 수 없는 의존성을 테스트 환경에서 시뮬레이션할 수 있습니다. 모크 객체는 테스트 환경에서 실제 객체를 대신하는 대체 객체로서, 파이썬 코드에 대한 제어 가능한 테스트 환경을 제공합니다. Mock 클래스를 사용하면 실제 객체를 모방할 수 있으며, patch() 함수를 사용하면 테스트에서 실제 객체를 임시로 모크 객체로 대체할 수 있습니다. 모크 객체는 대부분의 매직 메서드 구현을 포함하는 MagicMock과는 달리, 매직 메서드 구현이 없습니다. 모크 객체가 호출되었는지 확인하려면 .assert_called()와 같은 메서드를 사용할 수 있으며, 모크 객체의 반환 값을 설정하려면 모크 객체의 .return_value 속성에 값을 할당할 수 있습니다. 모크 객체를 사용하면 테스트의 품질을 향상시키는 유연하고 강력한 방법입니다. 특히 예외 블록과 if 문과 같은 코드베이스의 어려운 부분을 테스트할 때 유용합니다. 파이썬 모크 객체 라이브러리인 unittest.mock는 테스트에 모크 객체를 쉽게 도입할 수 있는 방법을 제공하며, 파이썬 3.3부터 표준 라이브러리에 포함되어 있습니다. 이 라이브러리는 실제 객체를 모방하는 데 사용할 Mock 클래스와 코드의 실제 객체를 Mock 인스턴스로 대체하는 patch() 함수를 제공합니다. 파이썬 모크 객체를 사용하면 테스트 중에 코드의 동작을 제어할 수 있으며, 코드에서 실제 객체를 사용하는 방법을 이해할 수 있습니다. 모크 객체에는 호출 여부, 호출 방법, 호출 횟수와 같은 사용 정보가 포함되어 있습니다.
realpython.com
Real Python: Understanding the Python Mock Object Library
Create attached notes ...
