파이썬 모의 라이브러리를 사용하여 파일을 모의하려고합니다. 비록 간단하지만, 나는 여전히 크기 인수를 받아야 할 때 읽기 함수를 조롱하는 방법을 이해하지 못한다. side_effect를 사용하여 대체 함수를 만들려고했는데, 이는 값으로 전달 된 데이터 만 읽습니다.크기 변수를 사용하는 모의 파일 읽기 방법
def mock_read(value):
test_string = "abcdefghijklmnopqrs"
'''
Now it should read enough values from the test string, but
I haven't figured out a way to store the position where the
"read" method has stopped.
'''
mock_file = MagicMock(spec=file)
mock_file.read.side_effect = mock_read
는 그러나, 나는의 side_effect 기능에 독자의 현재 위치를 저장하기 위해 단지 그 후에 읽는 방법을 알아 냈하지 않은 :
이
는 생각이다. 어쩌면 더 나은 접근법이 있다고 생각하지만, 아직 그것을 알아 냈습니다.
죄송합니다. 귀하의 질문을 잘 읽지 못했습니다 .... 내 대답이 바뀌었지만 지금 귀하의 질문에 대한 답변이 –
이 주제에 관심이 있습니까? –
예, 답장을 보내 주시면 문제가 해결되었습니다. BytesIO 객체를 생성 할 때 무언가를하려고하고 mock 객체의 read 메소드가 BytesIO 객체의 read 메소드를 가리 키도록 시도했지만, 그 답이 더 나은 접근법을 제공합니다. – lucasmoura