【发布时间】:2015-09-08 17:34:27
【问题描述】:
我正在尝试使用 Mocha 和 should.js 对套接字交互的负载测试场景进行原型设计。我有一系列用户详细信息,我想使用套接字通信对其进行身份验证并希望验证他们的响应。它适用于单个用户,但是当我尝试为多个用户循环时 - 我最终遇到了问题。根据帖子收集了一些输入:Tests from looping through async JavaScript (Mocha)。
下面是代码sn-p:
var users = [{name:'A',password:'password',expected:'success'},{name:'B',password:'badPass',expected:'failure'}];
describe('socket Interaction test' , function() {
function socketInteraction(users, done) {
client.emit('userAuthentication', {'name':users.name,'password':users.password}, function(callback) {
console.log('Emit' + users.name);
});
client.on('userAuthenticationResponse', function(response) {
console.log('Resp' + response.status + 'Expected' + users.expected);
response.status.should.equal(users.expected);
done();
});
}
it('Dummy', function(done) {
describe('Mutiple login Test Async', function() {
it('User Login Test', function(done) {
users.forEach(function(users, callback) {
console.log(users.name);
socketInteraction(users, function(err) {
if (err) {
return;
}
done();
});
});
});
});
});
});
我在运行测试时得到的响应是:
socket Interaction test
✓ Dummy
Mutiple login Test Async
A
B
RespsuccessExpectedsuccess
✓ User Login Test
RespsuccessExpectedfailure
2 passing (43ms)
第二次测试必须失败。不知道我在哪里弄乱了代码。感谢一些解决此问题的建议。谢谢。
【问题讨论】:
标签: node.js sockets mocha.js should.js