@Patch装饰器与pytest装置不兼容 [英] @Patch decorator is not compatible with pytest fixture

查看:25
本文介绍了@Patch装饰器与pytest装置不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用集成了pytest fixture的mock包中的补丁装饰器时,遇到了一些神秘的事情。

我有两个模块:

    -----test folder
          -------func.py
          -------test_test.py

在func.py中:

    def a():
        return 1

    def b():
        return a()     

在test_test.py中:

    import pytest
    from func import a,b
    from mock import patch,Mock

    @pytest.fixture(scope="module")
    def brands():
        return 1


    mock_b=Mock()

    @patch('test_test.b',mock_b)
    def test_compute_scores(brands):                 
         a()

贴片装饰似乎与最火热的夹具不兼容。有人对此有什么见解吗?谢谢

推荐答案

我遇到了同样的问题,我的解决方案是在1.0.1版本中使用模拟库(在我使用2.6.0版本中的unittest.mock之前)。现在它就像一个护身符一样起作用了:)

这篇关于@Patch装饰器与pytest装置不兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆