2016-06-22 3 views
1

Я новичок в модульном тестировании. Я пишу тестовый пример, используя mocha для Nodejs. В моем случае нужно написать тестовый пример для входа в facebook. Я поначалу пытался с Facebook-насмешка, но я не смог завершить task.This мой тестовый случай, когда я использовал зомби,Как я могу выполнить проверку моего входа в facebook с помощью паспорта js в mocha nodejs?

var chai = require('chai');  
var assert = chai.assert;  
var server;  
var Browser = require('zombie');  
describe("login using social sites",function() { 
    this.timeout(40000); 
    beforeEach(function() { 
    server = require('../../../server').server; 
    browser = new Browser({ site: 'http://localhost:3000' }); 
    }); 
     it("should login with facebook",function (done) { 

     browser.visit('/auth/facebook',function (err,brw) { 

      if(err){ 
       throw err; 
      } 

      assert.equal(brw.location.pathname, '/auth/facebook/callback'); 

      done(); 

     }); 



    }); 


    afterEach(function() { 
     server.close(); 
    }); 

}); 

И server.js файл,

var express = require('./config/express'); 

var app = express(); 

var server = app.listen(3000, function() { 
    var port = server.address().port; 
    console.log('Server running at %s', port); 
}); 

module.exports = { 
    app : app, 
    server : server 
}; 

Это ошибка, который я получил после выполнения теста блок,

1) login using social sites should login with facebook: 
    Uncaught TypeError: connect ECONNREFUSED 127.0.0.1:3000 
     at G:\Janani\Tasks\CCSProject\node_modules\zombie\lib\pipeline.js:89:15 
     at tryCatcher (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\util.js:16:23) 
     at Promise._settlePromiseFromHandler (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\promise.js:504:31) 
     at Promise._settlePromise (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\promise.js:561:18) 
     at Promise._settlePromise0 (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\promise.js:606:10) 
     at Promise._settlePromises (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\promise.js:681:18) 
     at Async._drainQueue (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\async.js:138:16) 
     at Async._drainQueues (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\async.js:148:10) 
     at Immediate.Async.drainQueues [as _onImmediate] (G:\Janani\Tasks\CCSProject\node_modules\zombie\node_modules\bluebird\js\release\async.js:17:14) 

Пожалуйста, кто-нибудь г дайте мне исправить эту проблему. И если какая-либо другая конкретная структура, если она доступна, пожалуйста, помогите мне с этим. Спасибо заранее!

+0

'соединить ECONNREFUSED 127.0.0.1: 3000' ясно показывает, что ни одно приложение не работает на указанном порту 3000.Please проверить, работает ли какое-либо приложение на порту 3000. – Subburaj

+0

' вар экспресс = требуется (»./ конфигурации/экспресс); var app = express(); var server = app.listen (3000, function() { var port = server.address(). Port; console.log («Сервер работает в% s», порт); }); module.exports = { app: server: server }; Это мой файл ** server.js **, который я инициализировал перед каждым крючком моего тестового примера. Другой тестовый пример работает с этим портом только для этого, я сталкиваюсь с проблемой. – Janani

ответ

0

Я исправил эту проблему !!!

describe("login using social sites",function() { 

    this.timeout(40000); 


    beforeEach(function() { 
     server = require('../../../server').server; 

     // browser = new Browser({ site: 'http://localhost:3000' }); 



    }); 


    it("should login with facebook",function (done) { 

     Browser.visit('http://127.0.0.1:3000/auth/facebook',function (err,brw) { 

      if(err){ 
       throw err; 
      } 

      brw.fill('email','[email protected]').fill('pass', 'password') 
       .pressButton('login', function (err,brow) { 
        brw.assert.success(); 
        done(); 
       }); 

     }); 



    }); 


    afterEach(function() { 
     server.close(); 
    }); 

}); 

 Смежные вопросы

  • Нет связанных вопросов^_^