我的测试有很多膨胀的输出。而不是像我之前看到的那样简单地打印测试结果:
Finished in 0.052 seconds
2 tests, 5 assertions, 0 failures, 0 skipped
我现在看到测试期间正在使用的对象的内容。我认为这与我的模块是隔离的,但鉴于这是我第一次使用node,我并不乐观。
重新创建问题
$ git clone https://github.com/spencerdcarlson/javaparser.git
$ cd javaparser/
$ npm install --only=dev
$ npm test
提前感谢您的帮助
答案 0 :(得分:1)
看起来你的代码直接打印到stdout,所以从karma / jasmine / node方面来看它实际上是无法帮助的。
你可以通过一个过滤程序来管道输出,然后打印出你想看到的东西,但这是很多工作。
为什么不修改代码让你在选项中为stdout指定一个流(或null)(我在你的parse()函数中看到你已经有了options参数。
JavaParser.parse = function parse(file, options, cb) {
...
const rl = readline.createInterface({
input: stream,
output: (options.stdout === undefined)? process.stdout : options.stdout;
});
...
}
然后你可以在运行测试时传递一个虚拟标准输出。
免责声明:我还没有研究过你的代码来检查它是否是打印到stdout的地方,这只是为了给你一个想法。我也不确定传递null是否适用于节点应用程序。在Linux上,您可以使用 / dev / null 。