2017-05-03 31 views
0

運行在IntelliJ IDEA Ultimate 2017.1中,我有一個包含許多NPM模塊的大型nodejs項目。其中大多數包含test子目錄與摩卡測試。 IDEA可以識別和運行大多數項目的測試(describe() + it()),只顯示一個很好的測試界面和運行結果。對於一個項目,它識別測試(顯示describeit右側的綠色箭頭),但運行時,它會以節點解釋器的常規代碼運行,這顯然會失敗。IDEA nodejs摩卡測試已被識別,但以代碼

我如何確保項目的測試以摩卡的形式運行?

P.S.當我添加一個「摩卡」調試配置文件時,如果我手動啓動摩卡運行/調試配置文件,它運行良好。

P.P.S. 我設法通過編輯.idea/workspace.xml解決它 - 出於某種原因它包含此元素。刪除它使一切工作正常。我希望有一種方式可以通過UI實現。

<configuration default="false" name="routeTest.js" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" path-to-js-file="routeTest.js" working-dir="$PROJECT_DIR$/server/test"> <method /> </configuration>

回答

0

從你的描述看來,問題是由現有的Node.js的運行配置與「JavaScript文件」設置爲您的摩卡測試文件(routeTest.js)引起的。與當前文件關聯的顯式創建的運行配置優先於自上而下自動生成的運行配置。刪除配置應該可以解決問題。

+0

謝謝@lena,但我沒有創建它 - 它以某種方式創建自動。在Mocha下,唯一明確創建的運行/調試配置仍然存在,並且未被使用。 – Yurik

0

我發現它是由package.jsonkarma依賴引起的。目前唯一的解決方法是手動設置初始摩卡測試運行配置,然後我們可以通過單擊圖標運行測試。

更新: 它是由Idea中的bug造成的,它已經修復。如果您同時使用karma-mocha和mocha測試,請注意最後的comment