0

我在使用 mocha 为 node-red 节点实现单元测试时遇到问题。

如果我使用“$ sudo mocha -t 3000”运行我的测试,node-red 无法加载 flow_user.json。因为 mocha 中的选项“3000”被设置为“流文件:”路径中的目录。

node-opcua-client
✓ copy testfile 'flow/flows_user' (1509ms)
✓ run Node-Red  (1856ms)

Welcome to Node-RED
===================

22 Sep 14:13:03 - [info] Node-RED version: v0.11.1
22 Sep 14:13:03 - [info] Node.js  version: v0.12.3
22 Sep 14:13:03 - [info] Loading palette nodes
Warning : using memcpy : OK
FAST: using node-expat
22 Sep 14:13:04 - [warn] ------------------------------------------
22 Sep 14:13:04 - [warn] Failed to register 1 node type
22 Sep 14:13:04 - [warn] Run with -v for details
22 Sep 14:13:04 - [warn] ------------------------------------------
22 Sep 14:13:04 - [info] Settings file  : /usr/local/lib/node_modules/node-red/settings.js
22 Sep 14:13:04 - [info] User directory : /home/user/.node-red
22 Sep 14:13:04 - [info] Flows file : /home/user/.node-red/30000
22 Sep 14:13:04 - [info] Server now running at http://127.0.0.1:1880/
22 Sep 14:13:04 - [info] Creating new flow file
22 Sep 14:13:04 - [info] Starting flows
22 Sep 14:13:04 - [info] Started flows

在'test.js'中,我打开node-red

RED = require ('/usr/local/lib/node_modules/node-red/red.js');

我错了吗?

感谢您的帮助

4

1 回答 1

1

您需要在此处查看网站上的 Embedding Node-RED 文档:http: //nodered.org/docs/embedding.html

但基本上你应该需要 node-red 然后创建一个设置对象来传递

var RED = require('node-red');
...
var server = http.createServer(app);
...
var settings = {
    httpAdminRoot:"/red",
    httpNodeRoot: "/api",
    userDir:"/home/nol/.nodered/",
    flowFile: "flow_user.json",
    functionGlobalContext: { }    // enables global context
};
...
RED.init(server,settings);
于 2015-09-22T12:56:09.947 回答