2015-08-27 42 views
2

我在使用Nock測試節點應用程序時遇到問題。我通過nock.recorder.rec記錄所有請求,但其中包含多部分請求。我使用form-data。當我使用功能form.append時,該模塊將邊界請求正文。問題是,邊界總是不同的,當我用記錄數據運行測試時,Nock無法找到匹配的請求(因爲請求主體中的呻吟聲不是在錄製時)。可以做什麼?對不起,我的英語不好。Nock +多部分表單數據=請求不匹配

+0

我可以做一個骯髒的黑客:調用'form.append'方法寫'form._boundary = 'myboundary'' 之前。在這種情況下,邊界總是靜止的,測試將被保留。但靜態邊界可能是一個不好的決定。也許手動生成某些算法的邊界? –

回答

1

我遇到了類似的問題。你可以做的是使用第二個參數作爲函數,並將你試圖發送的對象作爲表單數據匹配。例如:

nock('localhost') 
    .post('/url', function(body) { 
    return JSON.stringify(body) === JSON.stringify(params); 
    }) 
    .reply(200, 'some data'); 

更多,這裏的文件中:https://github.com/pgte/nock#specifying-request-body