python'da sahte bir nesneyi güncelle
Aug 20 2020
Aşağıdaki gibi oluşturulmuş bir alay nesnem var:
with patch('requests.get') as request:
self.request = request
self.request.session = MockSession()
self.request.cookies = {}
Başka bir işlevle nasıl güncellenebilir?
Yanıtlar
2 MrBeanBremen Aug 19 2020 at 23:16
Yama uygulanmış bir nesneyi kaydetmek istiyorsanız, yamayı manuel olarak başlatmalı ve durdurmalısınız. Bağlam yöneticisini (örneğin with patch) kullanırsanız, yama, kapsamdan çıkıldığında geri alınacaktır.
İşte yapabilecekleriniz:
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.')
Gerçek testi kontrol etmediğimi unutmayın - bu, uygulama mantığınıza bağlıdır.
Yama işlemini doğrudan testte de yapabilirsiniz:
@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.')
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı