我很難理解這段代碼。 我知道我們正在使用一些模擬而不是API端點來節省測試時間。classmethod lambda Python
我不明白的是classmethod(lambda cls:self.preapproval)結構。 如果在我沒有使用的代碼中使用lambda cls,什麼意思?
我希望我足夠清楚,我會很高興,如果有人能在這一個閃耀光芒的人..
非常感謝。
@patch("paypaladaptive.api.endpoints.UrlRequest",
MockUrlRequestPreapproval)
def test_preapproval(self):
# I don't understand this code, it is very confusing. Why do I need to use a lambda structure if in the code itself I don't use cls (self.preapproval)
MockUrlRequestPreapproval.preapproval = (
classmethod(lambda cls: self.preapproval))
self.assertTrue(self.preapproval.process())
self.preapproval = Preapproval.objects.get(pk=self.preapproval.pk)
self.assertNotEqual(self.preapproval.preapproval_key, "")
self.assertEqual(self.preapproval.status, "created")
@ GP89嗯,對,它可以採取> = 1,因爲類需要通過。謝謝! – parchment 2014-10-17 14:06:27
這使得它更清晰。 但是,爲什麼我們需要在第一個地方的classmethod因此。 難道我們不能只把lambda? 甚至更好,爲什麼不只是:MockUrlRequestPreapproval.preapproval = self.preapproval – cyberjoac 2014-10-18 08:09:02
我認爲這是因爲其他代碼需要一個classmethod。做其他事情可能會改變班級的行爲。 @cyberjoac – parchment 2014-10-18 08:35:08