【问题标题】:How to close a net.Server in Node.js tests?如何在 Node.js 测试中关闭 net.Server?
【发布时间】:2013-06-25 13:35:52
【问题描述】:

该示例可以找到,但是当我将 server.listen(1234); 替换为 server.listen(1234, '127.0.0.1'); 时,测试返回以下错误:“错误:未运行”

describe('Server', function() {
  it('should do something', function(done) {
    var server = new net.Server();
    server.listen(1234);

    // do something

    server.close();
    done();
  });
});

你能解释一下为什么吗?

【问题讨论】:

    标签: javascript node.js testing asynchronous mocha.js


    【解决方案1】:

    那是因为listen 是异步的。碰巧的是,在没有给出第二个参数的情况下,它会同步打开,close 不会失败。就此而言,close 也是异步的。

    it('should do something', function(done) {
      var server = new net.Server();
      server.listen(1234, '127.0.0.1', function(){
        // do something
    
        server.close(done);
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 2012-12-19
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多