如何模拟/存根node.js模块

时间:2014-04-29 03:42:50

标签: node.js unit-testing jasmine jasmine-node

我正在研究一些在RaspberryPi上运行的代码,我正在使用Wiring-Pi节点模块。 我有两个问题

1)Wiring-Pi不会在x86平台上构建

2)Node-jasmine不会在RaspberryPi上构建

所以,在玩了很多不同的想法后,我想知道我是否最好在x86平台上模拟或存根Wiring-Pi模块,所以我可以运行测试。

当然,我的问题是我正在测试的文件包含需求声明

    // getters.js
    var wpi = require('wiring-pi');

    // getters.spec.js
   var get = require('../lib/getters.js');

有没有办法设置spec文件,以便getters.js文件不加载wiring-pi模块?

1 个答案:

答案 0 :(得分:1)

您可以使用它来控制布线-pi模块的加载:

var wpi = require('os').arch() === 'arm' ? require('wiring-pi') : {};

Jasmine在Pi上编译,安装和运行。你得到什么错误?