2015-10-29 51 views
1

我們有一個QUINIT測試的OpenUI5應用程序。我們試圖用咕嚕-的contrib-qunit測試自動化,但是當咕嚕-的contrib-qunit開始在phantomjs我們qunittests.html文件,它提供了以下錯誤:我如何使用qunit和phantomjs自動測試openui5應用程序? (錯誤:在負緩存中找到)

>> Error: found in negative cache: 'sap/ui/core/Core.js' from TODO???/sap/ui/core/Core: Error: found in negative cache: 'sap/ui/core/Component.js' from TODO???/sap/ui/core/Component: Error: found in nega... 

同樣的文件, QUnit測試在Chrome中正常工作。

爲了理清我們的環境造成的問題,我做了以下內容:

我創建了一個Gruntfile.js沒有別的然後咕嚕的PHP咕嚕-的contrib-qunit。然後我從OpenUI5 Walkthrough Step 35下載了代碼。我開始演練程序和設置咕嚕-的contrib-qunit這樣的:

qunit: { 
    all: { 
    options: { 
     urls: [ 
     'http://localhost:1337/test/integration/opaTests.qunit.html' 
     ] 
    } 
    } 
}, 

同樣的問題。 「負緩存」。


我們用qunit的其他grunt實現,用karma-qunit,CasperJS和其他來測試它。

回答

2

我在嘗試自動測試ui5應用程序時遇到了同樣的問題。 我不確定是什麼導致了這個問題,但它似乎與grunt-contrib-qunit使用的phantomjs版本(編寫時1.9.15)有關。 所以我解決了以下DIY解決方法:

首先下載phantomjs 2.0並手動安裝它,意思是創建一個別名,或將它放在你的路徑。 Phantomjs在下載中包含一些非常有用的示例,其中之一是run-qunit.js。 如果您將其複製到項目根目錄中,則可以使用命令(打開命令提示符)phantomjs run-qunit.js http://localhost:1337/test/integration/opaTests.qunit.html來運行測試。 請注意,您需要先啓動一個開發服務器,因爲您需要有一個url來測試。我還需要在run-qunit.js中增加默認超時,OPA5測試需要很長時間。試試這個數字。

grunt-shell的幫助下,您可以將此命令集成到您的grunt工作流程中。 我爲我的qunit測試創建了一個grunt testunit任務,併爲我的OPA5集成測試創建了一個單獨的grunt testintegration任務。

希望有幫助,並請詢問您是否面臨此設置的任何問題。它爲我工作!

提示未來讀者:當grunt-contrib-qunit使用phantomjs 2.0.0時,此解決方法可能不是必需的。

相關問題