2014-12-30 25 views
10

Bir istek geri dönüşünde hatayı test etmek istiyorum. Testlerimde nock kullanıyorum, Nock'i ​​bir hatayı provoke etmeye nasıl zorlayabilirim? Ben% 100 test kapsama sağlamak ve eğer err dalda girmeyin oNock ile istekte hata nasıl test edilir?

request('/foo', function(err, res) { 
    if(err) console.log('boom!'); 
}); 

için err şube test etmek gerekir istiyorum. Ben bir hata alay çalışıyorum

  • : bazı yorumlara sayesinde: isabet err geçerli bir yanıt olsa bile, testte benim Nock çizgisi bu

    nock('http://localhost:3000').get('/foo').reply(400); 
    

    düzenlemek benziyor istek. Düğüm kılavuzunda Gönderen: herhangi bir hata isteği sırasında karşılaşılan edilirse https://nodejs.org/api/http.html#http_http_request_options_callback bir 'hata' olay döndürdü istek nesnesi

  • bir tarafından çıkan (DNS çözümlemesi, TCP düzeyi hataları veya gerçek HTTP ayrıştırma hatasıyla olmak) Hata kodu (örn. 4xx) err değişkenini tanımlamaz. Ben err değişkeni tanımlar ve bir nock istek üzerine bir istisna aradığınız gibi
+0

Sadece kötü bir istekte bulunamaz mısınız? örneğin '' 'veya 'undefined' için url’yi ayarlamak gibi. – agconti

+0

@agconti nock ile sunucu yanıtı alay ediyorsanız, bir http hatasını zorlamaya çalışıyorum. Başlangıç ​​kılavuzundan (http://nodejs.org/api/http.html#http_http_request_options_callback) _İşlem sırasında herhangi bir hatayla karşılaşılırsa (DNS çözünürlüğü, TCP düzeyindeki hatalar veya gerçek HTTP ayrıştırma hatalarıyla birlikte) error 'olayı, döndürülen istek nesnesinde yayılır. – coolxeo

+0

Bu davranış, maketle alakasız. Sadece bir HTTP hata mesajıyla yanıt vermeyi denediniz mi? –

cevap

İlgili konular