2017-06-13 37 views
1

我正在嘗試使用npm重放包來記錄http響應,同時進行集成測試。我正在使用柴和摩卡。這是我的代碼:使用npm重放包時,不會記錄Http響應?

var chai = require('chai'); 
var bodyParser = require('body-parser'); 
var supertest = require('supertest'); 
var express = require('express'); 
var expect = chai.expect; 
var replay = require('replay'); 

var assert = require('assert'); 
var HTTP = require('http'); 
var primary = require('./data/primary.json'); 

describe('Server Tests', function() { 

    beforeEach(function(){ 
     replay.localhost('127.0.0.1:3978'); 
    }); 

    it('should run the replay module', function(done) { 
     supertest('http://localhost:3978') 
      .post('/api/messages') 
      .send(primary) 
      .end(function (err, response) { 
       console.log(response); 
       expect(response.statusCode).to.eq(202); 
       //expect(response.body).to.eq("Oxymoron 2. Exact estimate\n\n[codehappy] http://iheartquotes.com/fortune/show/38021\n"); 
       console.log('Woot!'); 
       done(); 
      }); 
    }); 
}); 

此外,我得到正確的響應狀態代碼。

回答

0

嘗試刪除對relay.localhost的呼叫。從文檔:

您可以告訴節點重播什麼主機視爲「本地主機」。對這些主機的請求將被路由到127.0.0.1,而不捕獲或重放。