Python'da testlere giriyorum ve kendime bu yöntemi nasıl test edeceğimi sordum.Verileri, urllib2 tarafından hangi verileri almayı test ediyorsunuz?
def get_response(self, url, params):
encoded_params = urllib.urlencode(params)
request = urllib2.Request(BASE_URL, headers=HEADERS)
response = urllib2.urlopen(request, encoded_params)
return response
doctest veya unittest, bu nasıl iyi sağlanır mu kullanıyorsunuz? get_response()
'u bir test url'sini ve gerçek dünyada var olan bazı test parametrelerini geçirmeyi ve response.read()
'un beklenen verileri döndürüp döndürmediğini kontrol etmeyi düşündüm. Ama bir şekilde hissediyorum, bu yapılması gereken bir şey değil. Baska öneri? Bu tür davaları mesajlaşma bağlamında nasıl ele alacağına dair önerileri takdir ediyorum.
İlk olarak, yöntemin uyması gereken sözleşmeyi tanımlayın. Post * kabul edilen yanıtı * test ederek özetliyor, ancak şimdi başarısızlıkların nasıl ele alınması gerektiği. Ancak, gerçek * verileri * test etmek, daha fazla bir entegrasyon testi gibi görünür. –
Tam olarak bunu yapan (BSD lisanslı) scikit-öğrenme kodunu inceleyin; [testisler] (https://github.com/scikit-learn/scikit-learn/blob/master/scikits/learn/datasets/tests/test_mldata.py), ['mock_urllib2'] (https://github.com /scikit-learn/scikit-learn/blob/master/scikits/learn/utils/testing.py#L55). –