使用 node.js 在命令行上运行 DOH

Posted

技术标签:

【中文标题】使用 node.js 在命令行上运行 DOH【英文标题】:Running DOH on the command line with node.js 【发布时间】:2013-03-28 12:35:23 【问题描述】:

我第一次尝试在命令行上使用 Dojo 1.8.3 运行测试 node 被此错误消息阻止:

../dojo/dojo.js:15
ode:function()return _25;,guardCheckComplete:_37;;if(1)var _38=location.p
                                                                    ^
ReferenceError: location is not defined

解决方法是使用未压缩的源而不是发行版, 因为优化版似乎只能在浏览器中运行。接下来我尝试了一个配置脚本

// bootstrap.js
dojoConfig = 
    baseUrl: ".",
    packages:[name: 'dojo', location: '../dojo_src'],
    deps: ['./ui_test.js']
;
require('../dojo_src/dojo.js');

还有一个简单的测试

// ui_test.js
dojo.require("doh.runner");
doh.register("test_1", [
    function four_eq_4() 
        var x = 4;
        doh.is(x.toString(), "4");
    
]);
doh.run();
console.log("done.");

当我运行测试时doh.run() 似乎没有效果

$ node bootstrap.js
done.

我的目录结构:

/app
    bootstrap.js
    ui_test.js
/util/doh
/dojo_src

在命令行中使用 DOH 的正确方法是什么?

【问题讨论】:

【参考方案1】:

答案很简单,但并不明显。使用load=doh 运行以调用测试运行器。

$ node bootstrap.js load=odh

【讨论】:

以上是关于使用 node.js 在命令行上运行 DOH的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Unix管理Node.js脚本管道(在命令行上)?

Windows命令行上的Node.js npm错误

命令在命令行上运行良好,但不能从任务计划程序运行

node.js教程基础:node.js命令行选项

使用传递文件的 a.R 在命令行上调用 RMarkdown

从脚本在命令行上运行 MySQL 查询 [重复]