2015-12-22 2 views
2

У меня есть следующие файлы:транспортир Функция Helper генерировать то же самое

транспортир-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() в RegistrationTest.js, она отлично работает.

Я пробовал google, спрашивая у транспортира IRC, но ничего действительно полезного. Как это может быть «исправлено» для работы, например, когда у меня есть функция в тестовом файле?

Спасибо.

ответ

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 
+0

Вот так. TIL, Спасибо. Примите ответ за 10 минут. – Mpasw

Смежные вопросы