python 在同一级别和mock.patch中编写pytest fixture

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 在同一级别和mock.patch中编写pytest fixture相关的知识,希望对你有一定的参考价值。

@pytest.fixture
def stream():
    return mock.Mock(spec=Stream)

@pytest.fixture
def output():
    return open('test.txt', 'w')

@pytest.fixture
def tailer(self, stream, output):
    with mock.patch('logging.getLogger', autospec=True):
        yield Tailer(stream, output, mock.sentinel.lines)

@mock.patch('consumer.read_lines', autospec=True)
def test_tailer(mock_read, tailer, stream):
    stream.fetch.return_value = "test\n"
    tailer.run()
    mock_read.assert_called_once_with(stream, mock.sentinel.lines)
    with open('test.txt', 'r') as f:
        assert f.read() == "test"

以上是关于python 在同一级别和mock.patch中编写pytest fixture的主要内容,如果未能解决你的问题,请参考以下文章

[Python Modules] unittest.mock

pytest - 模拟过程和时间

嘲笑一个类:赶上22

我可以在包装函数之前修补 Python 装饰器吗?

在 python 3.5 中模拟异步调用

Python:从项目层次结构中同一级别的另一个目录导入模块