为了账号安全,请及时绑定邮箱和手机立即绑定

模拟 subprocess.Popen 与字典作为标准输出

模拟 subprocess.Popen 与字典作为标准输出

慕桂英4014372 2022-07-26 21:51:05
我有一个功能def execute(process: subprocess.Popen):    if not isinstance(process, subprocess.Popen):        raise ValueError('expected: subprocessPopen, found: %s' % type(process))    data = io.TextIOWrapper(process.stdout, encoding='utf-8')    func1(data_input)我想对它进行单元测试,我想data将它作为参数dictionary传递给func1它,但无法找到出路。
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

查看specMock 对象的参数,以使其通过isinstance()测试:

查看patch装饰器,了解如何用对象替换process.stdout成员io.BytesIO

您可能还需要考虑此处给出的示例:


查看完整回答
反对 回复 2022-07-26
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

import mock


def test_run_func():

    subprocess.Popen = mock.MagicMock(return_value=expected_return_value)

    # The rest of your test...

类似的东西应该可以工作。


查看完整回答
反对 回复 2022-07-26
  • 2 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信