如何在节点和Jasmine文件之间连接函数声明?
在我的pigLatin 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');
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');
});
这个解决方案并没有完全解决问题,但它确实为我指明了正确的方向。我将把这个解决方案作为官方答案发布。哦!我知道我错过了什么。我很抱歉!很高兴你找到了答案。:)