为什么新版本的mocha在运行npmtesting时不能输出testing细节?

我有我的项目指定下列devDependencies

 "mocha": "^3.4.2", "mocha-sinon": "^2.0.0", "sinon": "^2.3.7", 

当我用这些运行我的testing时,我只得到最小的输出:

 $ npm test Basic test example. simple test examples 

当我将摩卡依赖关系降级到这些版本时:

 "mocha": "^3.2.0", "mocha-sinon": "^1.1.6", "sinon": "^1.17.7", 

我得到了预期的详细输出:

 $ npm test Basic test example. simple test examples - expects more tests in future. 2 passing (27ms) 1 pending 

其他一切都是一样的。 我已经摆弄了一些没有效果的mocha命令行选项。

如何获得新版本的详细输出?

你正在扼杀console.log() ( 这里 ),这是大多数(所有?)摩卡记者用来logging他们的输出(也许这改变了摩卡版本之间,这可以解释为什么它使用旧版本)。

既然你把它存根,它基本上被一个除了跟踪被调用的方法和什么参数之外什么都不做的函数所取代。

我不确定你的意图是什么(testing文件似乎是一个占位符),但要解决这个问题,请尝试窥探它:

 this.sinon.spy(console, 'log'); 

间谍会做同样的追踪,但也会调用它正在监视的原始function。