简体   繁体   English

如何使用unittest将返回值设置为从另一个模拟对象创建的模拟对象?

[英]How to set return value to mock object created from another mock object using unittest?

from connection_util import some_engine

class RecommendConversationsUsingOldAPI(BaseResource):

    def check_entitlement(self,msg_ids,usr_id, metadata):
            conn = some_engine.connect()
            some_list = conn.execute(something)

Unittest 单元测试

@patch('module1.some_engine')  
def test_some_method(self, mockEngine):
        # some code.....

I can mock some_engine 我可以嘲笑some_engine

@patch('module1.some_engine')

How do set return_value for conn.execute() ? 如何为conn.execute()设置return_value

Manually created Mock object can be returned for connect() 可以为connect()返回手动创建的Mock对象

 mock_connection = Mock()
 mock_connection.execute.return_value = [1,2,3,4]

 mockEngine.connect.return_value = mock_connection

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM