您好,我正在为socket.io编写单元测试用例,测试用例通过了,但没有反映出我应该如何解决这个问题。为了更多的参考,我发布了下面的代码,这里是我的代码索引.js
const app = require('express')();
const server = require('http').Server(app);
const redis = require('redis');
var client = redis.createClient(process.env.redisPort,process.env.redisHost);
var client1 = redis.createClient(process.env.redisPort,process.env.redisHost);
var client2 = redis.createClient(process.env.redisPort,process.env.redisHost);
var client3 = redis.createClient(process.env.redisPort,process.env.redisHost);
const io = require('socket.io')(server);
const port = parseInt(process.env.PORT, 10) || 35082;
server.listen(port);
app.get('/', function (req, res) {
res.send('ws server');
});
io.sockets
.on('connection',
(socket) => {
console.log("Socket Connected");
client.on('message',function(channel,msg){
socket.emit('pickedup',msg);
});
client.subscribe('pickedup');
client1.on('message',function(channel,msg){
socket.emit('order-da-issue',msg);
});
client1.subscribe('da-issue');
client2.on('message',function(channel,msg){
socket.emit('crew-issue',msg);
});
client2.subscribe('crew-issue');
client3.on('message',function(channel,msg){
socket.emit('da-break',msg);
});
client3.subscribe('da-break');
});
这是我的index.test.js实际上它没有做任何核心测试它只测试套接字连接。
var io = require('socket.io-client'),
assert = require('assert'),
expect = require('expect.js');
describe('Suite of unit tests', function () {
var socket;
beforeEach(function (done) {
socket = io.connect('http://localhost:35082', {
'reconnection delay': 0,
'reopen delay': 0,
'force new connection': true
});
socket.on('connect', function () {
console.log('worked...');
done();
});
socket.on('disconnect', function () {
console.log('disconnected...');
})
});
afterEach(function (done) {
if (socket.connected) {
console.log('disconnecting...');
socket.disconnect();
} else {
console.log('no connection to break...');
}
done();
});
describe('First (hopefully useful) test', function () {
it('Doing something else with indexOf()', function (done) {
expect([1, 2, 3].indexOf(5)).to.be.equal(-1);
expect([1, 2, 3].indexOf(0)).to.be.equal(-1);
done();
});
});
});
这是我的package.json
"test": "NODE_ENV=test mocha ./test/*.test.js --exit",
"coverage": "NODE_ENV=test nyc --reporter=json-summary --all --reporter=text --reporter=html --report-dir=./coverage npm test",
"nyc": "nyc --reporter=json-summary --reporter=text --reporter=html --report-dir=./coverage npm run test"
这是测试覆盖率结果
Suite of unit tests
First (hopefully useful) test
worked...
✓ Doing something else with indexOf()
disconnecting...
disconnected...
1 passing (144ms)
----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 0 | 0 | 0 | 0 |
index.js | 0 | 0 | 0 | 0 | 1-124
----------|---------|----------|---------|---------|-------------------
谢谢
暂无答案!
目前还没有任何答案,快来回答吧!