Ваш пробег может отличаться, но я некоторое время назад придумал следующую однострочную строку, и она мне очень хорошо послужила:
if (!module.parent)(new(require("mocha"))()).ui("exports").reporter("spec").addFile(__filename).run(process.exit);
Дополнительно, если вы хотите, чтобы она выводилась в формате asyncjs
что ожидает Cloud9, вам нужно будет предоставить специальный репортер.Вот действительно простой пример того, как будет выглядеть простой репортер:
if (!module.parent){
(new(require("mocha"))()).ui("exports").reporter(function(r){
var i = 1, n = r.grepTotal(r.suite);
r.on("fail", function(t){ console.log("\x1b[31m[%d/%d] %s FAIL\x1b[0m", i++, n, t.fullTitle()); });
r.on("pass", function(t){ console.log("\x1b[32m[%d/%d] %s OK\x1b[0m", i++, n, t.fullTitle()); });
r.on("pending", function(t){ console.log("\x1b[33m[%d/%d] %s SKIP\x1b[0m", i++, n, t.fullTitle()); });
}).addFile(__filename).run(process.exit);
}