我正在處理一個多項目的Maven項目,其中項目中的項目具有彼此之間的一些依賴關係。我正在使用IntelliJ 9.我希望能夠在我的單元測試中設置斷點,但是當我右鍵單擊我的工件的單元測試文件夾並選擇「Debug'All Tests'」時,我得到一個類不是發現異常指向單獨的Maven工件中的類。如何在Maven項目的單元測試中運行IntelliJ調試器?
我可以在父項目上運行Maven「測試」目標,它工作正常。
任何想法?謝謝。
我正在處理一個多項目的Maven項目,其中項目中的項目具有彼此之間的一些依賴關係。我正在使用IntelliJ 9.我希望能夠在我的單元測試中設置斷點,但是當我右鍵單擊我的工件的單元測試文件夾並選擇「Debug'All Tests'」時,我得到一個類不是發現異常指向單獨的Maven工件中的類。如何在Maven項目的單元測試中運行IntelliJ調試器?
我可以在父項目上運行Maven「測試」目標,它工作正常。
任何想法?謝謝。
我想運行特定軟件包的單元測試。
我可以通過在IntelliJ中創建一個新的JUnit運行/調試配置來實現此目的。我告訴它在特定的包中運行測試,並且爲了「使用模塊的類路徑和JDK」,我選擇了根Maven工件。
在您從命令行運行Maven時,您將能夠在啓用調試器的情況下運行它,並將Idea作爲遠程調試器。這就是我通常使用它的方式。
mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" test
見http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html
這將允許調試器連接到端口8000,等你來執行之前加上。
感謝您的提示。我可以通過調整IntelliJ中的JUnit運行/調試配置來使其工作。 –
我在想,這對我來說效率不高,因爲我只想運行特定軟件包的單元測試...我必須對運行所有單元測試的根POM運行mvn測試 –
您可以如此處所述,始終使用-Dtest。但是如果你在想法中解決它 - 太棒了! –