我有以下文件:
量角器-functions.js
function generateName() {
var names = ["Jewel", "Cesar", "Gita", "Denver", "Necole", "Oscar"];
return names[Math.floor(Math.random()*names.length)];
}
module.exports = {
generateName: generateName()
};
SignupTest.js
var functions = require('../protractor-helpers/protractor-functions.js');
global.name1 = functions.generateName;
global.name2 = functions.generateName;
我得到同一个名字。如果我将函数generateName()移动到SignupTest.js,它的工作完全正常。
我试过谷歌,询问量角器IRC,但没有什么真正有用。这怎么可以修复"像我在测试文件中有功能一样工作?
感谢。
答案 0 :(得分:4)
这是因为您没有导出函数,而是生成的值:
module.exports = {
generateName: generateName() // you are calling function here
};
将其更改为:
module.exports = {
generateName: generateName
};
然后你可以这样称呼它:
global.name1 = functions.generateName();
global.name2 = functions.generateName(); // it's now different