如何在pytest中使用Monkeypatch模拟一个函数多次

时间:2020-08-28 01:03:41

标签: python python-3.x pytest paramiko

我要测试的功能是这样的

def function(ssh_client):

    stdin1, stdout1, stderr1 = ssh_client.exec_command("first_command")
    stdout1 = stdout1.readlines()
    if stdout1:
        print("first_command_executed")
        
    stdin2, stdout2, stderr2 = ssh_client.exec_command("second_command")
    stdout = stdout.readlines()
    if stdout2:
        print("second_command_executed")

我正在尝试在pytest中使用Monkeypatch为上述功能创建单元测试用例。这样。

def return_exec_command(*args, **kwargs):
        return "", data, ""

    monkeypatch.setattr(ssh_client, 'exec_command', return_exec_command)

但是问题是,在执行该补丁时,两次都返回相同的输出。那么,如何为上述功能创建单元测试?

0 个答案:

没有答案