patch
Fudge 1.0.3のデコレータの奇妙な動作に遭遇しました。経由でクラスをインポートする場合、モジュールにパッチを適用しません
from <module> import <class>
しかし、インポート時には正常に動作します
import <module>
対応するコードの適応。
最小化されたセットアップは次のとおりです。
mdle.py :
class Klaas(object):
def __init__(self):
# easyest way to signal this class has been instantiated accidently
raise Exception(">:[")
some.py (テストが機能しない):
from mdle import Klaas()
def instantiate():
instance = Klaas()
some.py (テスト作業):
import mdle
def instantiate():
instance = mdle.Klaas()
some_test.py :
import unittest
import fudge
import some
class SomeTest(unittest.TestCase):
@fudge.patch("mdle.Klaas")
def test_somethingb(self, Klaas_mock):
klaas_inst = (Klaas_mock.expects_call()
.returns_fake())
# Receiving the exception
some.instantiate()
別の方法でパッチを適用する必要がありますか? これは Fudge の制限ですか、それともバグですか?