简体   繁体   中英

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

@patch('module1.some_engine')

How do set return_value for conn.execute() ?

Manually created Mock object can be returned for connect()

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

 mockEngine.connect.return_value = mock_connection

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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