我有一个包含以下行的Python模块
import subprocess
# command that write things to a file in a specific location
command = 'default_command'
def f():
proc = subprocess.Popen(command, ..some_args..)
status_code = proc.wait()
error_code = proc.stderr.read()
# some stuff with status_code, error_code and the content of the file
正常执行command
将文件写入文件并返回退出代码。
我想用pytest和pytest-mock为该函数编写一个单元测试,它必须模拟command
我用Popen
执行。我需要模拟该命令,因为它有一些不太可预测的输出。模拟必须做两件事:
如何实现这一目标?
即使您认为我采取了错误的做法,请告诉我。