IDEA JUnit5測試套件運行錯誤的問題

1.問題

在Idea 2017.3中,創建JUnit5的測試用例Test Case,同時創建JUnit4的測試套件,運行測試套件時提示出錯「java.lang.Exception: No runnable methods」。java

2.分析

Java進行單元測試時,通常會創建多個測試用例Test Case,或者多個測試類(每一個測試類包括多個測試用例),但若是須要同時運行這些測試用例,通常在JUnit4中會採用測試套件,經過運行測試套件,在套件中一次運行多個測試用例類。單元測試

參考解答:
可以使用JUnit 4運行套件,但它不適用於JUnit 5.測試

若是您使用的是IntelliJ IDEA 2016.2,則目前沒法在IDE中執行使用@RunWith(JUnitPlatform.class)註釋的測試類.ui

答案很長spa

根據你報告的行爲,通過一些艱苦的調查工做,我相信我有你的問題的答案……code

若是您使用的是內置支持JUnit 5的IntelliJ IDEA 2016.2,那麼如下是正在發生的事情.orm

IDEA經過Launcher API啓動JUnit平臺,選擇使用@RunWith(JUnitPlatform.class)註釋的測試類(讓咱們稱之爲TestSuite).
Launcher檢測到junit-jupiter和junit-vintage TestEngine實現.
JUnit Jupiter引擎忽略了TestSuite,由於它在技術上不是JUnit Jupiter測試類.
JUnit Vintage引擎也忽略了TestSuite,由於它是用@RunWith(JUnitPlatform.class)註釋的.
最終結果是,既沒有註冊的測試引擎聲稱它能夠運行TestSuite類.

3.解決方案

IntelliJ IDEA 2016.2後面的版本直接支持測試套件,不用寫Java代碼,您只需在IDEA的項目視圖中右鍵單擊測試類Java文件,而後選擇Run ’XXX(Java文件名)’,這將運行該測試類中的全部測試用例,以下所示:blog

image.png

或者在測試類的包名點右鍵菜單,選擇「Run Tests in XXX(包名)」便可運行該包中全部的測試用例,以下所示:it

image.png

《禮記·經解》:「君子慎始,差若毫釐,謬以千里」
相關文章
相關標籤/搜索