量角器功能助手生成相同的东西

时间:2015-12-22 10:29:27

标签: javascript protractor

我有以下文件:

量角器-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,但没有什么真正有用。这怎么可以修复"像我在测试文件中有功能一样工作?

感谢。

1 个答案:

答案 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