2017-05-17 7 views
0

アムを使用して、APIを模擬する:ノード+試験:どのように次のようなユニットテスト内のAPIを模擬しようとしている矢筈

const request = require('supertest'); 
const nock = require('nock'); 
const app = require('../app'); 

const agent = request.agent(app); 
nock.disableNetConnect(); 
const userResponse = { 
    user: { 
     _id: '58828157ce4e140820e23648', 
     info: { 
     email: '[email protected]', 
     password: '1', 
     name: 'testx', 
     }, 
}; 
    it('should register new user', (done) => { 
    nock('http://localhost:5000') 
     .post('/auth/register') 
     .reply(200, userResponse); 



    agent.post('/auth/register') 
     .send({ 
     name: 'test', 
     email: '[email protected]', 
     password: '1', 
     }) 
     .expect(200) 
     .end((error, response) => { 
     expect(response.body.user.info.email).to.equal('[email protected]'); 
     expect(response.body.user.info.name).to.equal('test'); 
     done(); 
     }); 
    }).timeout(5000); 

しかし、このエラーを取得しています:

NetConnectNotAllowedError: Nock: Not allow net connect for "127.0.0.1:54877/auth/register"

答えて

0

は見てくださいnock documentationnock.disableNetConnectは実際のHTTPリクエストが発生するのを防ぎます。ノックしようとしているエンドポイントがポート54877のサーバー上で実行されているようですが、ポート5000で動作するサーバーをノックしようとしているようです。

+1

このトリックは機能しますか?私は私のテストケースで同じ問題に直面しているいくつかのファイルをアップロードする必要がありますが、私に与える "NetConnectNotAllowedError:ノック:ネット接続を許可しない" – Siten

関連する問題