首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >能够模拟,但由于int类型对象不可调用而出现异常

能够模拟,但由于int类型对象不可调用而出现异常
EN

Stack Overflow用户
提问于 2019-01-24 16:53:18
回答 1查看 889关注 0票数 1
代码语言:javascript
复制
  @patch("dao.qualcomm_transaction_service.QualcommTransactionService.get_max_qualcomm_id",20) 
def test_lambda_handler(): 
lambda_handler(event, None)

我使用了mocking,看到你的例子,我的方法期望返回20,无论何时在lambda函数测试中,当我们在到达上面的方法时,我们做了.but,我得到了一个异常,int类型的对象不可调用。请告诉我这里有什么问题。

这是我试图模拟的实际被调用的方法,它被称为lambda函数(在本地测试lambda ):

代码语言:javascript
复制
last_max_id = QualcommTransactionService().get_max_qualcomm_id(self.subscriber_id)

我的文件夹结构是这样的:

代码语言:javascript
复制
functions
  -subscription_lambda
     -qt_lambda_event.py
layers
  -subscription-service
     -python
       -soap
          -qt
             -qualcomm-transaction-main.py
       -config
   -data-access-layer
      -python
        -dao
          -qualcomm_transaction-service.py
EN

回答 1

Stack Overflow用户

发布于 2019-01-24 18:30:57

在回答我自己的问题时,我要做的就是在路径中传递20,我返回了Mock()对象,返回值为20

代码语言:javascript
复制
maxidMock = Mock()
maxidMock.return_value = 20

      @patch("dao.qualcomm_transaction_service.QualcommTransactionService.get_max_qualcomm_id",20) 
def test_lambda_handler(): 
 lambda_handler(event, None)
 maxidMock.assert_called_with(6)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54342661

复制
相关文章

相似问题

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