我的应用服务器使用 node.js 集群 API cluster.fork() 来分叉多个子进程。这工作正常。
但是,当我尝试使用 vows 进行单元测试时,由于在我的应用服务器中调用了 cluster.fork(),测试也运行了多次;当我在测试代码中实例化服务器时,如下所示:
基本测试.js
var vows = require('vows');
var MyAppServer = require('../my_app');
// start the server
var app = MyAppServer.start();
var suite = vows.describe('My Tests');
suite.discuss('connections API')
.addBatch({ ... })
.export(module);
在这种情况下,如何防止测试代码多次运行?这个测试包含在 npm 测试中,所以我需要一种方法来在测试本身中实例化我的应用服务器。