无法testing第三方授权:Node / Express / Supertest / Facebook

我正在编写一个非常早期的Node / Express应用程序的testing。 我已经决定只为大多数用户使用FBlogin,所以我的许多控制器都依赖于来自FB的身份validation状态。 但我不清楚如何testing这个,或者如何保持会话与login用户的方式,我正在使用的护照,将理解。

var expect = require("chai").expect; var mongoose = require('mongoose'); var User = require('../models/users'); var nock = require('nock'); var parser = require('cookie-parser') var session = require('supertest-session'); var agent = require('superagent'); var _ = require('lodash'); var app = require('../app'); var testSession = null; var fbRedirectURL; beforeEach(function () { testSession = session(app); }); it('should authorize with FB', function (done) { testSession.get('/auth/facebook') .expect(302) .end(function(err, res){ fbRedirectURL=decodeURIComponent(res.headers.location); done() }); }); it('should get FB data', function (done) { testSession.get(fbRedirectURL) .expect(200) .end(function(err,res) { console.log() done() }) }); 

这些testing工作,但第二个抛出一个错误:我不清楚我如何使用这个通过其他testing保持会议,或者如果我不得不以某种方式嘲笑,或以其他方式试图欺骗护照。

我看起来很高,也没有发现任何似乎解决了使用第三方authentication服务进行testing的问题,而且似乎有问题。 有没有我找不到的资源? 即使passport-facebook的文档似乎也滑过了依赖于FBauthentication的testing代码的主题,并且仅为自己的代码提供了一个testing套件。

提前致谢。

我无法取得进展,我已经开始使用nightwatch.js和selenium进行E2Etesting。 花了大约一个小时弄清楚,并得到FBlogin的testing:现在我只需要看看我能不能将摩卡testing与夜间testing结合起来…