如何在Node和Jasmine文件之间连接函数声明



在我的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中。

所以对于你的describe,你会想要更像。。。

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函数返回的内容。

希望这能有所帮助!

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

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');
});

最新更新