概要
pytest の monkeypatch でコンストラクタをパッチしたい場合があると思います
そんな場合の対処方法を紹介します
環境
- macOS 10.15.6
- Python 3.8.5
答え: クラスを差し替える
メイン
class User():
def __init__(self, name, age):
self.name = name
self.age = age
def hello():
u = User("hawksnowlog", 10)
return u.name
テストコード
from user import hello
class DummyUser():
def __init__(self, name, age):
self.name = "dummy"
self.age = 9999
def test_hello(monkeypatch):
monkeypatch.setattr("user.User", DummyUser)
assert(hello() == "dummy")
0 件のコメント:
コメントを投稿