mocha导入外部脚本失败

时间:2014-03-11 12:40:15

标签: javascript node.js unit-testing mocha

我有这个opcode.js文件,需要用mocha来测试它。这里可以看到一个例子:

var opcode = {
    '0': {
        decode: function (data) {
            var ocBuf = new OpcodeBuffer(data);
            var kpo = {};
            kpo.opcode = 0x00;
            ocBuf.setIndex(1);
            kpo.sid = ocBuf.readUInt16();
            return kpo;
        },
        encode: function (kpo) {
            var ocBuf = new OpcodeBuffer(opcode['0'].encodeLength(kpo));
            ocBuf.writeUInt8(0x00);
            ocBuf.writeUInt16(kpo.sid);
            return ocBuf.buf;
        }
module.exports = opcode;

并在我的test_ack.js文件中写入:

var op = require('./ack.js');
var assert = require('assert');
opcode = op.opcode;
var decode = require('opcode').decode();
var encode = require('opcode').encode();

问题是我一直有这个编码和解码没有定义的错误消息。我仍然无法得到如何在我的目录中导入它们。

1 个答案:

答案 0 :(得分:0)

根据您向我们展示的代码,这将是您导入两个函数的方式:

var decode = require('opcode')["0"].decode;
var encode = require('opcode')["0"].encode;

我建议另外避免两次致电require。除此之外,您目前拥有的代码调用函数而不是仅导入它们。