我正在为通过串行端口连接的第三方设备的Web界面进行开发。下面的示例代码...
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var sp = new SerialPort("/dev/ttyACM0", {
parser: serialport.parsers.readline("\n")
});
sp.on("data", function (rawData) {
...
我的问题是如何模拟/测试“数据”事件...
最佳答案
您可以随意发出“数据”事件,因为SerialPort
实现了the EventEmitter
interface。只需使用.emit()
。
即使串行接口实际上没有接收到任何数据,此代码也将“向”控制台记录“呼”。它用.emit()
伪造。
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var sp = new SerialPort("/dev/ttys000", {
parser: serialport.parsers.readline("\n")
});
sp.on("data", function (rawData) {
console.log('woot');
});
sp.emit('data');
关于javascript - 使用Node串行端口回调时的模拟/单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30251218/