Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 仅为一个测试操作pytest命令行参数_Python_Fabric_Pytest - Fatal编程技术网

Python 仅为一个测试操作pytest命令行参数

Python 仅为一个测试操作pytest命令行参数,python,fabric,pytest,Python,Fabric,Pytest,是否可以通过fixture或任何其他方法设置pytest的-s命令行参数? 我想要实现的是为我的一个测试启用-s(capture=no)选项 我正在考虑一种在测试中或通过夹具操纵此选项的方法 下面给出一个需要禁用捕获的测试示例,这是一个非常简单的测试: from fabric.state import env from fabric.operations import run class TestCapture: def test_fabric(self): env.

是否可以通过fixture或任何其他方法设置pytest的-s命令行参数? 我想要实现的是为我的一个测试启用-s(capture=no)选项

我正在考虑一种在测试中或通过夹具操纵此选项的方法

下面给出一个需要禁用捕获的测试示例,这是一个非常简单的测试:

from fabric.state import env
from fabric.operations import run

class TestCapture:
    def test_fabric(self):

        env.user = '<ssh_username>'
        env.password = '<ssh_password>' 
        env.host_string = '<hostname>'

        who = run('whoami').stdout # use fabric command run to invoke whoami on <hostname>

        assert who == '<username>'
来自fabric.state导入环境
从fabric.operations导入运行
类TestCapture:
def测试_结构(自):
环境用户=“”
环境密码=“”
env.host_字符串=“”
who=run('whoami')。stdout#使用fabric命令run在
断言谁=“”
在此测试中,fabric用于通过ssh登录到另一台机器上,并运行whoami命令。结果应该是登录用户的名称


如果启用了pytest的捕获,则此测试将失败

可以使用
request.config.pluginmanager.getplugin('capturemanager').suspendcapture()
.resumecapture()
来处理此问题


但这是一个非常罕见的用例,通常不需要它。目前我能想到的两个合理的例子是pdb和pytest超时插件。因此,稍微解释一下您的用例可能会有所帮助。

我有一些使用fabric框架的代码,我想对其进行测试。如果捕获了输出,则此测试失败。但我不想禁用所有测试的输出捕获。我也不知道如何使用您提供的代码。你能举个例子吗?我在问题中加了这个例子