我使用的是sails.js v0.11.0,我剛剛進入單元測試。我可以通過http請求測試正常的控制器,但我不知道從哪裏開始通過套接字請求測試相同的調用。如果你有一個很好的資源或使用套接字的樣本測試,那就太棒了。使用npm測試的sails.socket測試
var assert = require('assert');
var request = require('supertest');
describe('Auth Controller', function() {
describe('#callback()', function() {
it ('passport-local authentication should succeed if email and password valid', function (done) {
request(sails.hooks.http.app)
.post('/auth/local')
.send({
identifier: '[email protected]',
password: 'admin1234'
})
.expect(200)
.end(function(err) {
done(err);
});
});
it ('passport-local authentication should fail and return error code if email is invalid', function (done) {
request(sails.hooks.http.app)
.post('/auth/local')
.send({
identifier: '[email protected]',
password: 'admin1234'
})
.expect(403)
.end(function(err) {
done(err);
});
});
it ('passport-local authentication should fail and return error code if password is invalid', function (done) {
request(sails.hooks.http.app)
.post('/auth/local')
.send({
identifier: '[email protected]',
password: 'invalid1235'
})
.expect(403)
.end(function(err) {
done(err);
});
});
//Test with Web Sockets from sails.io
describe('sails.socket', function() {
describe('With default settings', function() {
describe('once connected, socket', function() {
it ('passport-local authentication via web socket should succeed if email and password valid', function (done) {
//Socket version?
request(sails.hooks.http.app)
.post('/auth/local')
.send({
identifier: '[email protected]',
password: 'admin1234'
})
.expect(200)
.end(function(err) {
done(err);
});
});
it ('passport-local authentication via web socket should fail and return error code if email is invalid', function (done) {
//Socket version?
request(sails.hooks.http.app)
.post('/auth/local')
.send({
identifier: '[email protected]',
password: 'admin1234'
})
.expect(403)
.end(function(err) {
done(err);
});
});
it ('passport-local authentication via web socket should fail and return error code if password is invalid', function (done) {
//Socket version?
request(sails.hooks.http.app)
.post('/auth/local')
.send({
identifier: '[email protected]',
password: 'invalid1235'
})
.expect(403)
.end(function(err) {
done(err);
});
});
});
});
});
});
});
感謝您的迴應! – scott