2016-01-20 94 views
3

當運行我的業力測試,我得到了詹金斯構建這個錯誤。所以要清楚,這個工作在當地罰款和我所有的測試都通過了,但是當我運行詹金斯盒完全相同的代碼,我得到的錯誤:'undefined'不是一個函數(評估'_.contains)業力測試

PhantomJS 1.9.8 (Linux 0.0.0) VisitDataSpeC#emailExists should return true if email is already FAILED 
    TypeError: 'undefined' is not a function (evaluating '_.contains(visitEmails,email)') 
     at /home/server/jenkins/workspace/Reception UI Build/src/app/model/VisitData.js:9 
     at /home/server/jenkins/workspace/Reception UI Build/test/app/model/VisitData.spec.js:208 

我聞phantomjs的越野車版本。服務器上的版本是1.9.0。我將本地版本降級到同一版本,嘗試在本地重現問題,但這並未發生。

我已經試圖包括下劃線和lodash,並沒有任何圖書館的工作。

我得到了一個測試同樣的錯誤在那裏Restangular嘗試使用下劃線以及:

PhantomJS 1.9.8 (Linux 0.0.0) EmailVisitControllerSpeC#signIn should call VisitService to add a new service with scope data FAILED 
    TypeError: 'undefined' is not a function (evaluating '_.contains(safeMethods, operation.toLowerCase())') 
     at /home/server/jenkins/workspace/Reception UI Build/bower_components/restangular/dist/restangular.js:21 
     at elemFunction (/home/server/jenkins/workspace/Reception UI Build/bower_components/restangular/dist/restangular.js:1217) 
     at wrapper (/home/server/jenkins/workspace/Reception UI Build/bower_components/lodash/lodash.js:3949) 
     at postFunction (/home/server/jenkins/workspace/Reception UI Build/bower_components/restangular/dist/restangular.js:1246) 
     at apply (/home/server/jenkins/workspace/Reception UI Build/bower_components/lodash/lodash.js:402) 
     at wrapper (/home/server/jenkins/workspace/Reception UI Build/bower_components/lodash/lodash.js:4254) 
     at /home/server/jenkins/workspace/Reception UI Build/src/app/rest/VisitService.js:9 
     at invoke (/home/server/jenkins/workspace/Reception UI Build/node_modules/karma-sinon-chai/node_modules/sinon/pkg/sinon.js:2583) 
     at addVisit (:1) 
     at /home/server/jenkins/workspace/Reception UI Build/src/app/visits/EmailVisitController.js:9 
     at /home/server/jenkins/workspace/Reception UI Build/test/app/visits/EmailVisitController.spec.js:91 

採用了棱角分明1.4.2,角嘲笑1.4.2,2.3.4摩卡和現在,下劃線1.8.3或lodash 3.10.1(試用)。

順便說一句,這可能是相關的:我有這四對詹金斯建設時:

npm WARN install Couldn't install optional dependency: Unsupported 

也許這不是解決某些依賴關係,可惜我看不到哪些。使用npm 3.3.2。

有沒有人有任何關於我在這裏失蹤的想法?任何已知的不兼容版本?

+0

我在這裏有同樣的問題 - 你找到解決方案嗎? – mgibas

回答

2

我發現問題:lodash 4.x.回到3.10.1,一切正常。

+0

我實際上已經在使用3.10.1。也試着用下劃線代替lodash,它也不起作用。 – redwulf

+0

我也在使用3.10.1,但我的配置更新到4.X.我只是將lodash#3.10.1添加到我的bower.json中。希望這會有所幫助 – mgibas

0

所以是的,restangular有這一行內:

"dependencies": { 
    "lodash": ">=1.3.0" 
    }, 

lodash剛剛升級到4.0版本,所以現在當你安裝restangular它會下載最新版本lodash

來解決這個問題只需要添加lodash在版本3.10.1你的依賴關係(NPM或鮑爾):

"dependencies": { 
    ... 
    "restangular": "1.5.1", 
    ... 
    "lodash": "3.10.1" 
    } 
+0

它並不適合我。無論如何,開發人員不再支持restangular,因此我停止使用它。 – redwulf

相關問題