我有一个Test类,其中包含多达50种不同的方法。我想用模拟功能修补每个方法。
prod = {"foo": "bar"}
def TestClass:
@patch(db.get_product, return_value=prod)
def test_1:
pass
@patch(db.get_product, return_value=prod)
def test_2:
pass
.
.
.
@patch(db.get_product, return_value=prod)
def test_50:
pass
有什么简单的方法可以代替重复@patch(db.get_product, return=prod)
50次吗?
答案 0 :(得分:4)
您可以改为使用patch
作为类装饰器:
@patch(db.get_product, return_value=prod)
class TestClass:
def test_1:
pass
def test_2:
pass
.
.
.
def test_50:
pass
摘录自documentation:
修补程序可以用作TestCase类装饰器。它的工作原理 装饰类中的每个测试方法。这减少了样板 测试方法共享通用补丁集时输入代码。