pytest我如何模拟依赖于其父调用参数的函数调用的副作用

傻胖猫

这是我目前的测试:

我的设置:

class CheckTestParentMocked:
    @pytest.fixture(autouse=True)
    def run_around_tests(self, mocker):
        self.profile = 'myprofile'
        self.region = 'eu-west-1'
        mocked_boto = mocker.patch(self.boto_client_path) #mypackage.module.boto3
        mocked_session = mocked_boto.Session()
        self.mocked_client = mocked_session.client()

我的实际估算:

def test_gets_non_authorizer_api(self):
    def side_effect(*args, **kwargs):
        if args or kwargs:
            # these are resources
            return [{
                'items': [
                    {
                        'id': 'resource-id-foo',
                        'path': '/',
                        'resourceMethods': ['GET']
                    }
                ]
            }]
        else:
            # these are apis
            return [{'items': [
                {
                    'id': 'foo',
                    'name': 'foo-name'
                }
            ]
            }]

    self.paginator.paginate.side_effect = side_effect

    self.mocked_client.get_method.return_value = {
        'authorizationType': 'NONE'
    }
    assertion = {
        'API Name': 'foo-name', 'API Methods': 'GET', 'Resource Path': '/', 'Region': self.region,
        'Authorization Type': 'NONE'
    }
    self.mocked_client.get_paginator('get_rest_apis').paginate()
    self.mocked_client.get_paginator('get_resources').paginate(restApiId='someid')

paginate()的结果取决于传递给的参数get_paginator现在,我很幸运能够使用paginate的参数来确定行为,但是如何定义一个模拟,以便paginate()根据get_paginator参数返回特定的值给我?

亚恩

您始终可以使用自己的方法替换模拟调用链中的任何部分,以放置所需的逻辑。

例如:

def get_paginate_mock(paginator_param):
    return {
        'get_rest_apis': mock.Mock(
            paginate=mock.Mock(return_value='called with get_rest_apis')),
        'get_resources': mock.Mock(
            paginate=mock.Mock(return_value='called with get_resources'))
        }.get(paginator_param, mock.Mock())

self.mocked_client.get_paginator = get_paginate_mock

self.mocked_client.get_paginator('get_rest_apis').paginate()
'called with get_rest_apis'

self.mocked_client.get_paginator('get_resources').paginate()
'called with get_resources'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:依赖于调用函数的 If-Else 语句

来自分类Dev

如何调用依赖于Thymeleaf中输入的url?

来自分类Dev

如何使数组的大小依赖于构造函数参数?

来自分类Dev

我们是否可以使函数类型依赖于(派生自?)函数类型(当被调用时)?

来自分类Dev

测试依赖于其他副作用的React Hooks副作用(或其他测试)

来自分类Dev

在调用依赖于renderUI的反应函数之前,不执行renderUI

来自分类Dev

在调用依赖于renderUI的反应函数之前,不执行renderUI

来自分类Dev

如何使用React钩子处理/链接依赖于另一个的同步副作用

来自分类Dev

当实现依赖于子类时,如何解决“多态性类事件的调用”?

来自分类Dev

如何实现依赖于其他 makefile 目标是否被调用的 makefile 目标

来自分类Dev

使用RSpec测试依赖于外部Cassandra调用的方法

来自分类Dev

使用RSpec测试依赖于外部Cassandra调用的方法

来自分类Dev

如何返回依赖于两个函数的函数?

来自分类Dev

调用python Mock时如何运行函数(以获得副作用)?

来自分类Dev

不依赖于所有(仅按值调用)参数的返回值的有用性

来自分类Dev

如何从调用期望中调用比模拟方法更多参数的函数

来自分类Dev

如何让我的 AJAX url 依赖于 jquery 条件?

来自分类Dev

Pytest:设置具有无副作用的函数的模拟

来自分类Dev

我如何仅使用依赖于我的选择选项参数的新API重绘Highchart?

来自分类Dev

如何为依赖于Rust中泛型类型参数的结构的关联函数定义不同的实现?

来自分类Dev

简洁的评估:如何在依赖于%>%管道的自定义函数中使用dplyr :: na_if作为可选参数

来自分类Dev

依赖于参数的好友功能查找

来自分类Dev

处理依赖于参数的动态请求

来自分类Dev

如果仅依赖于其自身的模板参数,该函数类型是否依赖?

来自分类Dev

noexcept依赖于成员函数的noexcept

来自分类Dev

依赖于泛型参数作为函数的值参数的类型

来自分类Dev

pytest如何直接使用fixture参数调用函数

来自分类Dev

当reducer函数依赖于组件prop时,传递给useReducer钩子的reducer函数对于一个调度调用将多次执行

来自分类Dev

Python 3:依赖于其他函数的函数,缺少参数?

Related 相关文章

  1. 1

    Python:依赖于调用函数的 If-Else 语句

  2. 2

    如何调用依赖于Thymeleaf中输入的url?

  3. 3

    如何使数组的大小依赖于构造函数参数?

  4. 4

    我们是否可以使函数类型依赖于(派生自?)函数类型(当被调用时)?

  5. 5

    测试依赖于其他副作用的React Hooks副作用(或其他测试)

  6. 6

    在调用依赖于renderUI的反应函数之前,不执行renderUI

  7. 7

    在调用依赖于renderUI的反应函数之前,不执行renderUI

  8. 8

    如何使用React钩子处理/链接依赖于另一个的同步副作用

  9. 9

    当实现依赖于子类时,如何解决“多态性类事件的调用”?

  10. 10

    如何实现依赖于其他 makefile 目标是否被调用的 makefile 目标

  11. 11

    使用RSpec测试依赖于外部Cassandra调用的方法

  12. 12

    使用RSpec测试依赖于外部Cassandra调用的方法

  13. 13

    如何返回依赖于两个函数的函数?

  14. 14

    调用python Mock时如何运行函数(以获得副作用)?

  15. 15

    不依赖于所有(仅按值调用)参数的返回值的有用性

  16. 16

    如何从调用期望中调用比模拟方法更多参数的函数

  17. 17

    如何让我的 AJAX url 依赖于 jquery 条件?

  18. 18

    Pytest:设置具有无副作用的函数的模拟

  19. 19

    我如何仅使用依赖于我的选择选项参数的新API重绘Highchart?

  20. 20

    如何为依赖于Rust中泛型类型参数的结构的关联函数定义不同的实现?

  21. 21

    简洁的评估:如何在依赖于%>%管道的自定义函数中使用dplyr :: na_if作为可选参数

  22. 22

    依赖于参数的好友功能查找

  23. 23

    处理依赖于参数的动态请求

  24. 24

    如果仅依赖于其自身的模板参数,该函数类型是否依赖?

  25. 25

    noexcept依赖于成员函数的noexcept

  26. 26

    依赖于泛型参数作为函数的值参数的类型

  27. 27

    pytest如何直接使用fixture参数调用函数

  28. 28

    当reducer函数依赖于组件prop时,传递给useReducer钩子的reducer函数对于一个调度调用将多次执行

  29. 29

    Python 3:依赖于其他函数的函数,缺少参数?

热门标签

归档