使用buster-test强制console.log到stdout?

时间:2014-03-04 00:54:50

标签: javascript unit-testing output buster.js

在shell中运行测试时,我惊讶地发现,即使指定了console.log(),外部.js文件对-o/--release-console的调用也会被压扁。根据{{​​3}},shell实用程序buster-test应该仅使用指定的选项保留全局console

在我之前使用JUnit和PyUnit的经历中,当测试用例在shell中运行时,打印到stdout会产生输出(在stdout或stderr上),无论调用何处“echo”。我更喜欢需要这种行为,因为我使用日志/打印作为了解正在发生的事情的主要工具。

如果我想在终端中回收console.log输出,有什么选择?


详细信息,更新:

  • 使用浏览器环境配置测试。

1 个答案:

答案 0 :(得分:0)

您对此设置的体系结构抱有误解。特别是,浏览器中的console.log(例如Firefox)与test-runner(Node)中的console.log无关,如下面的屏幕截图所示。事实上,您在浏览器环境中运行确实很有用,正如您可能怀疑的那样。

我对BusterJS或Node不是很熟悉,但为了让所有console.log输出都出现在shell中,您需要在 node 环境中运行测试。这构成了一个障碍,因为您需要一个Node模块来处理DOM和其他常见的依赖项,例如jQuery。

var config = module.exports;
config["Interval Buttons"] = {
    environment: 'node',
};

Firebug控制台有您的输出:

console.log in the browser