6
現在我正在嘗試測試我的控制器,並且需要訪問會話,我發現您可以使用superagent登錄,但是我唯一的選擇是登錄到網絡應用程序是通過谷歌oauth,現在我找不到任何適合Mocha測試的樣本。任何幫助?如何使用摩卡在風帆js中測試谷歌oauth護照
現在我正在嘗試測試我的控制器,並且需要訪問會話,我發現您可以使用superagent登錄,但是我唯一的選擇是登錄到網絡應用程序是通過谷歌oauth,現在我找不到任何適合Mocha測試的樣本。任何幫助?如何使用摩卡在風帆js中測試谷歌oauth護照
這取決於你如何實現你的會話。
在我的帆的應用程序,在身份驗證之後,我設置req.session.authenticated = true
,與曲奇等一件事,如果你正在做類似的事情是在你的/login
路線,你可以做的,添加:
if (process.env.NODE_ENV === 'test') {
req.session.authenticated = true;
// do what you would do next after authentication
} else {
// do normal login procedures
}
然後在您的測試,在before
鉤,你可以用superagent
作出的/login
路線的請求進行身份驗證:
describe('MyController', function() {
var agent;
before(function (done) {
agent = require('superagent').agent('YOUR_APP_URL');
// authenticate
agent
.post('/login')
.end(done)
});
// in your tests, use the same agent to make future requests
describe('#someAction', function() {
it('should do something', function(done) {
agent.
.post('someAction')
.end(function (err, res) {
// should work!
});
});
});
});
這只是一個想法 - 你能適應這種方法不過你checki ng會話。這適用於使用Mocha進行測試的我的Sails應用程序。