2017-08-29 41 views
1

在我pigLatin茉莉花文件,我试图让下面的代码工作:如何连接Node和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 
} 

我觉得这事做间谍功能,但我在围绕它做什么时遇到了一些麻烦。感谢您提前提供任何帮助。

回答

1

感谢布拉德我能够弄清楚这一点。这里是固定的解决方案:

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

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

希望这会有所帮助!

+0

这个解决方案没有完全解决它,但它确实指向了我的正确方向。我会将解决方案作为正式答案发布。 – mcrav95

+0

哦!我明白我错过了什么。对不起!很高兴你想出来了。 :) –

+0

不用担心谢谢你的帮助! – mcrav95