用mochatesting节点tcp服务器

我有一个我想用摩卡testing的tcp服务器:

// Start the server require('net').createServer(function (socket) { // Handle incoming data socket.on('data', function (data) { ... some stuff socket.write("reply with some err message if any"); }); }); 

我通常使用expressjs为HTTP Rest API开发节点应用程序,并使用grunt-express-server模块,例如:

 grunt.registerTask('validate', [ 'express:dev', 'mochaTest', 'express:dev:stop' ]); 

这个运行快速服务器,运行testing并停止快速服务器。
有没有相同的东西来testingTCP服务器?

当然是。 你可以用摩卡来testing你想要的任何东西。 像下面的东西应该工作:

 describe('Test tcp server', function () { it('Should reply with some err message if any', function (done) { // Set up a client and connect to port 31337 (or whatever port you use) var client = net.connect({ port: 31337 }, function() { // Send some data client.write('Let's send this data!'); } ); // When data is returned from server client.on('data', function(data) { // Let's make sure data equals the correct message data.should.equal('reply with some err message if any'); client.end(); done(); }); }); });