使用npm重放包时不会记录Http响应?

时间:2017-06-13 17:39:46

标签: node.js npm replay

我尝试使用npm replay包来记录集成测试时的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();
            });
    });
});

另外,我得到了正确的响应状态代码。

1 个答案:

答案 0 :(得分:0)

尝试删除对relay.localhost的通话。来自文档:

  

您可以告诉节点重播哪些主机要视为“localhost”。对这些主机的请求将被路由到127.0.0.1,而不会捕获或重放。