如何在节点和Jasmine文件之间连接函数声明?

如何在节点和Jasmine文件之间连接函数声明?,jasmine,jasmine-node,Jasmine,Jasmine Node,在我的pigLatin Jasmine文件中,我试图让以下代码正常工作: var pigLatin = require("./pigLatin.js"); describe('#translate', function() { it('translates a word beginning with a vowel', function() { s = translate("apple"); expect(pigLatin.s).toEqual('appleay');

在我的pigLatin Jasmine文件中,我试图让以下代码正常工作:

var pigLatin = require("./pigLatin.js");

describe('#translate', function() {
    it('translates a word beginning with a vowel', function() {
    s = translate("apple");
    expect(pigLatin.s).toEqual('appleay');
    });
});
这是我的节点文件:

function translate(argument) {
    return "appleay";
}


module.exports = {
    translate
}

我认为这与间谍功能有关,但我对它的确切功能有点困惑。感谢您提前提供的帮助。

您的
pigLatin.js
文件仅导出函数
translate
,因此,导入文件时,您将函数存储到变量
pigLatin

因此,对于你的
描述
来说,你需要更像

var translate = require("./pigLatin.js");

describe('#translate', function() {
    it('translates a word beginning with a vowel', function() {
    s = translate("apple"); // we imported the translate function
    expect(s).toEqual('appleay'); // `s` is the result of the translation
    });
});
模块导出的内容就是
require
函数返回的内容


希望这有帮助

多亏了布拉德,我才明白这一点。以下是固定的解决方案:

var pigLatin = require("./pigLatin.js");

describe('#translate', function() {
it('translates a word beginning with a vowel', function() {
    s = pigLatin.translate("apple");
    expect(s).toEqual('appleay');
});

这个解决方案并没有完全解决问题,但它确实为我指明了正确的方向。我将把这个解决方案作为官方答案发布。哦!我知道我错过了什么。我很抱歉!很高兴你找到了答案。:)