0
我有一個看起來像這樣的功能:Python - 如何對使用Popen的這種方法進行單元測試?
def run_shell_command_return_output(command_array):
output = []
p = Popen(command_array, stdout=PIPE, bufsize=1)
with p.stdout:
for line in iter(p.stdout.readline, b''):
output.append(line.decode('utf8').strip())
p.wait()
return output
我想弄清楚,使用此方法,以便它實際上並沒有觸及文件系統,而是進行單元測試代碼如何使用假返回數據和狀態代碼。
我已經看到了如何嘲笑使用POPEN溝通()的代碼,如How to unit test a function that uses Popen?信息,但我一直無法弄清楚如何以這種方式使用POPEN嘲笑代碼。
我該如何在這裏僞造popen,以便這種方法可以返回假輸出?