2014-04-11 32 views
11

我有大約20個規格文件,其中大多數使用與每個重複相同的功能。我可以將全局函數放在每個spec文件可以使用的conf.js文件中嗎?我閱讀這個頁面http://stackoverflow.com/questions/21320400/protractor-angularjs-global-variables,但它不是很有幫助,我不能得到它的工作。我試過在onPrepare中放置一個函數,但spec文件找不到它。我也試過global.viewByAds = function() {...};如何在Angularjs量角器中使用全局函數?

如果有人能幫助我,我會非常感激!

回答

10

你可以簡單地添加一個js文件和使用要求

helper.js:

module.exports = { 
    foo: 'bar', 
    doSomething: function() { 
    return 1+1; 
    } 
}; 

在您的規格:

//require helper.js at specs 
var helper = require('./helper.js'); 
helper.doSomething() 
+0

非常感謝您的幫助,但我可以」似乎得到它的工作。我在名爲'helper.js'的同一個目錄中創建了一個文件,並將var helper = require('helper');'行添加到了我的spec文件中,但它說它找不到幫助程序模塊。有任何想法嗎? – Brendan

+0

沒關係,我想它必須在node_modules文件夾中 – Brendan

+1

@Brendan try require('../ helper');如果你不想在那裏。取決於你如何設置你的項目... – nilsK