2014-04-14 149 views
2

我開始學習Eclipse中的JUnit測試。用於顯示測試結果的插件提供了一個非常乾淨的測試視圖,您可以單擊可將您帶到正在測試的代碼區域的項目。使用Maven進行JUnit測試

當我開始使用Maven時,我注意到您也可以讓Maven執行您的JUnit測試。但是,因爲Maven是一個命令行進程,並且結果會寫入控制檯,所以JUnit結果也會發送到那裏。它看起來像廢話。您必須解析所有控制檯文本以查找測試結果。一切都只是普通的舊文本。

這提出了Maven在使用JUnit(或其他任何測試框架)進行測試時的用途?我必須忽略這一點。爲什麼任何人想要在Eclipse插件提供查看,執行和評估測試的優雅方式時閱讀大文本轉儲?

回答

3

一般而言,您基於命令行構建,因爲您已在IDE中正常工作。命令行版本是最終的完整性檢查,可能是您釋放軟件的方式(例如mvn release:perform等)。

雖然有幾個插件使得Maven測試輸出稍微好一點,但期望測試會通過。如果他們不這樣做,請啓動Eclipse並再次運行測試。

+0

這意味着我想解析所有的控制檯文本以確定測試是否過去? – AndroidDev

+0

@AndroidDev Maven告訴你,如果你的構建因測試失敗。那時候,我可能甚至不會去查看輸出結果,看看哪些測試失敗了。我會切換到Eclipse並再次運行測試以查看發生了什麼。 –

+0

那麼你真的回答了我的問題。除了單個合格/不合格指示之外,Maven對測試沒有任何價值。真正的測試全部在Eclipse內完成。 – AndroidDev

2

Maven在測試JUnit時有什麼用途?
單元測試是應用程序開發中的一部分(通常在編碼/開發組件時使用),Apache Maven是項目管理工具,(正如Duncan所說)可以幫助我們發佈軟件。 包括 - 依賴性管理,模塊管理,插件管理和測試報告配置。

Maven Objectives

  • 使構建過程中容易
  • 提供了一個統一的構建系統
  • 提供優質的項目信息
  • 提供了最佳實踐的發展
  • 允許透明的準則遷移到新功能

請看看下面的線程有關Maven的更多細節:
Why do so few people use Maven?
Why maven ? What are the benefits?

爲什麼會有人想讀一個大文本轉儲時Eclipse插件提供了觀看的一種優雅的方式,執行和評估測試?
對於軟件發佈的目的,我們需要維護應用程序的統計信息(涵蓋了多少場景,測試用例通過..等等)。 Maven支持不同的插件來格式化結果,Maven Surefire Plugin,maven-site-plugin ..等插件幫助我們生成報告不同的格式。

請參考下面的線程有關更多詳細信息:
JUnit3 and Junit4 XML Reports with Maven
Is there a decent HTML Junit report plugin for Maven?

+0

我認爲這個答案可能會從一些編輯中受益 - 有很多關於Maven的額外信息似乎與這個問題沒有關係。只有你的最後兩段似乎相關。 –

3

Maven是一個構建工具。其目標和目的是產生可重複和可持續的結果。當我們談論構建/持續集成服務器時,這一點尤爲重要。

所以正常的工作流程/應該是:開發人員通常開發使用他們的IDE(蝕),他們跑他們的測試在IDE中,因爲這是開發商爲中心,更舒適。

缺少圖形環境的構建服務器運行構建工具,即maven。

有時候,行家和Eclipse之間的結果可能會有所不同,在這種情況下爲開發者也是他們的機器上運行Maven可能成爲必要。

另一個原因使用Maven直接可能是集成測試,啓動和停止服務器專門爲我們說的Maven生命週期的集成。

一些具體點:Maven的相當舒適顯示哪些測試失敗摘要:

00:46:21.988 Results : 
00:46:21.988 
00:46:21.988 Failed tests: 
00:46:21.988 MyTest.testPersistErrorStateNewTransaction:48 Test for 'testPersistErrorStateNewTransaction()' not yet implemented! 
00:46:21.988 
00:46:21.988 Tests in error: 
00:46:21.988 MyOtherTest.testMethod 
00:46:21.989 
00:46:21.989 Tests run: 1162, Failures: 1, Errors: 1, Skipped: 491 
00:46:21.989 
00:46:22.003 [ERROR] There are test failures. 
00:46:22.004 

此外,在運行時,從行家,你仍然可以打開神火測試的結果在Eclipse JUnit視圖通過雙擊surefire-reports目錄中的測試結果(.xml)。

+1

我不知道你可以在JUnit Eclipse插件中打開.xml文件。感謝那! – Behe