저는 Python을 처음 접했고 (저는 Java에서 왔어요) 파이썬 3.2에서 모의 객체 사용에 문제가 있습니다.Python3에서 생성자로 객체를 조롱하는 방법은 무엇입니까?
import gzip
class MyClass:
_content = None
_gzipfile = gzip.GzipFile
def __init__(self, content):
self._content = content
def my_method(self):
# Code ...
gzipper = self._gzipfile(fileobj=data)
return gzipper.read()
import unittest
from mockito import *
class MyClassTest(unittest.TestCase):
def my_method_test(self):
gzipfile = mock
myclass = MyClass()
myclass._gzipfile = mock
myclass.my_method
내가 (나는 모의 객체에 대한 mockito lib 디렉토리를 사용하고 있습니다) 단위 내 방법을 테스트 할 것 : 여기
는 코드입니다. 내가 명명 된 매개 변수와 함께 GzipFile으로 객체를 호출하도록 강요하고있어이 경우TypeError: __init__() got an unexpected keyword argument 'fileobj'
: 나는 테스트를 실행할 때, 나는이를받을 수 있습니다.
이 GzipFile 개체 (및 비슷한 개체)를 조롱하는 좋은 방법이 있습니까?
'__init'이 오타이거나 실수입니까? – Arafangion
오타가 아니라 이중 밑줄로 이탤릭체 텍스트가 나오고 어떻게 탈출해야할지 모르겠다. 그래서 속임수를 쓰겠다. – Guillaume
아, 글쎄,이 경우에는 'fileobj'인수를 기대하는 초기화 프로그램을 추가하는 것이 좋습니다. . – Arafangion