Python中文
首页
教程
问答
标签
搜索
登录
注册
Python:How to 实现多个动态mock.patch函数?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图在python中动态模拟/修补一个类的多个@property方法</p> <pre><code>class Dog(): ... @property def size(self): ..... @property def breed(self): ..... cases = [{"size":9, "breed":"doberman"}, {"size":2, "breed":"pug"}] @pytest.mark.parametrize("case", list(cases.values()), ids=list(cases.keys())) def test_properties(case): dog = Dog() mocks = () for m, v in case.items(): mocks += (mock.patch.object(dog, m, return_value=v),) with mocks: ... </code></pre> <p>但是,我得到以下错误:</p> <blockquote> <pre><code> with mocks: </code></pre> <p>E AttributeError: <strong>enter</strong></p> </blockquote> <p>显然,这不是根据如上所示的配置模拟多个属性的合适方法?有人能告诉我如何最好地实现这一点,谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>除了亚历克斯的回答外,以下问题解决了:</p> <pre><code>if "mock" in case: for m,v in case["mock"].items(): def get_value(self):return v monkeypatch.setattr(State, m, property(get_value)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
得到媒体:缩略图url从rss源
8 回答
得到对数正态随机数给定log10均值和log10标准差
5 回答
得到工作,波斯特不
6 回答
得到左半积和右半积的绝对差最小的元素
1 回答
得到幻数错误?
3 回答
得到异常错误“线程中的异常-1(最有可能在解释器关闭期间引发)”,它使用Parami
10 回答
得到循环
4 回答
得到德语的语法变化
7 回答
得到我认为是好的结果,但还不够
2 回答
得到截断svd.transform()返回float16而不是float64
6 回答
得到所有不相交的集合的并集
6 回答
得到所有函数求值组合的矩阵
4 回答
得到扭曲延迟取消错误当使用刮痧时
3 回答
得到控制台.log使用Selenium python从Chrome输出一次,然后调用第二次为空
7 回答
得到操作系统环境通过NSSM运行Python
8 回答
得到数学方程中的表达式
8 回答
得到数据库结构属性
9 回答
得到整数的后三位
8 回答
得到整数的第n位精度
3 回答
得到最低落的reddit评论
5 回答