1
我有這樣的在我的代碼的方法:嘲諷方法,而不是在測試
def save(items):
try:
for item in items():
do_something(item)
except Exception:
my_logging.warning("error happened")
def do_something(item):
pass
我想從代碼中的另一個位置調用此方法,但是,我想打電話給不同的方法,而不是do_something(item)
:
@transaction.atomic
def do_with_transaction(item)
delete(item)
do_something(item)
它是確定使用模擬與生產代碼的副作用?這樣我可以模擬do_something()
使用do_with_transaction(item)
。 它在我看來就像一個乾淨的解決方案。
會這不是一個非常糟糕的做法和設計決定做這樣的事情? – AK47
這是我正在試圖找出.. – Dejell
這將是。你的代碼應該很容易閱讀和做這樣的事情(especia聽起來像你會混淆每一個未來的讀者/維護者的代碼,但這只是我的2美分 – AK47