如何使用嵌套属性m编写干净的python模拟代码

2024-09-27 07:22:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下模拟代码:

mockSuper = mock.MagicMock()
type(mockSuper).role = mock.PropertyMock(
  return_value=mock.MagicMock())
type(mockSuper.role).role = mock.PropertyMock(return_value='Super')

{cd1>我想要什么。但是上面的代码看起来不是很简单。这是我第一次使用python mock,所以我认为应该有更好的版本。:)


Tags: 代码版本returnvaluetypemockrolesuper
1条回答
网友
1楼 · 发布于 2024-09-27 07:22:28

我只是这么做的:

>>> import unittest.mock
>>> m = unittest.mock.Mock()
>>> m.role.role = "some_value"
>>> m.role.role
'some_value'

但是我想知道您是否真的想在属性中插入一个字符串。也许只需先运行某个程序并在最后运行assert就足够了。在

^{pr2}$

如果你还有选择的话,我建议你不要测试德米特定律的违反情况——比如说,如果你先测试的话。在

相关问题 更多 >

    热门问题