首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pytest.mark.django_db和mock.patch装饰器不能一起使用

pytest.mark.django_db和mock.patch装饰器不能一起使用
EN

Stack Overflow用户
提问于 2015-02-12 06:10:17
回答 2查看 395关注 0票数 0

我试图在pytest上模拟一个函数,但是这个模拟似乎根本不起作用。

这是我的测试

代码语言:javascript
复制
@pytest.mark.django_db
@patch('apps.titles.logic.get_similar_titles')
def test_get_recommended_titles_for_results(self, mock_get_similar_titles,
                                            set_up):
    mock_get_similar_titles.return_value = OrderedDict([
        ('uuid-1', 165),
        ('uuid-2', 163),
        ('uuid-6', 135),
    ])
    match_signals = []
    results = get_similar_titles(
        match_signals=match_signals,
        title=set_up['title']
    )

    assert results.items() == mock_get_similar_titles.return_value.items()

在使用@pytest装饰器时是否存在兼容性问题,或者我是否犯了一个错误?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-02-12 06:27:33

我在这里胡思乱想,但最后一行不应该是这样的:

代码语言:javascript
复制
assert results.items() == mock_get_similar_titles().items()

编辑:文档seem to suggest so

票数 0
EN

Stack Overflow用户

发布于 2015-02-12 06:36:35

您正在模拟您正在测试的函数。你想要模拟出你正在测试的代码调用/使用的函数或对象,而不是你正在测试的代码本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28465514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档