私はPythonに慣れていません(私はJavaからです)、私はPython3.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