1 回答

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果要保存已打補(bǔ)丁的對(duì)象,則必須手動(dòng)啟動(dòng)和停止打補(bǔ)丁。如果您使用上下文管理器(例如with patch),補(bǔ)丁將在退出范圍時(shí)恢復(fù)。
您可以執(zhí)行以下操作:
class TestSomething(unittest.TestCase):
def setUp(self):
self.patcher = patch('requests.get') # returns the patcher object
self.request = self.patcher.start() # returns the patched object
self.request.session = MockSession()
self.request.cookies = {}
def tearDown(self):
sef.patcher.stop()
def test_03_set_nonce(self):
self.web_session.set_nonce(self.request)
self.assertTrue(len(self.request.cookies) > 0, 'set_nonce failed.')
請(qǐng)注意,我沒(méi)有檢查實(shí)際測(cè)試——這取決于您的應(yīng)用程序邏輯。
您也可以直接在測(cè)試中進(jìn)行修補(bǔ):
@patch('requests.get')
def test_03_set_nonce(self, request):
request.session = MockSession()
request.cookies = {}
self.web_session.set_nonce(request)
self.assertTrue(len(request.cookies) > 0, 'set_nonce failed.')
添加回答
舉報(bào)