2012-07-13 446 views

回答

60

最好的方式方法:(3年後編輯)

有甚至是實現這一目標的更好方法。

  1. 選擇菜單「運行」→「編輯配置...」。點擊左上角的綠色加號,然後選擇JUnit。

  2. 選擇「測試樣」到「模式」,進入這個正則表達式完全一樣,你看到它:^(?!.*IT$).*$(它開始與插入符號^與美元$結束)。這個正則表達式說:所有測試都沒有以IT名義完成

  3. 選擇「搜索測試」爲「在整個項目中」。工作目錄應設置爲頂層模塊工作目錄(應該默認設置)。

  4. 輸入您的測試名稱,如「所有單元測試」。我還優先選擇「共享」選項,以便以後配置不會消失。單擊應用並確定。

您可以嘗試使用此正則表達式來滿足您的需求。

原來的答覆:

這是可行的,雖然它不舒服。

  1. 選擇第一個模塊,右鍵單擊test/java目錄並單擊「運行所有測試」。它創建測試配置。
  2. 選擇「編輯配置」並在新創建的配置上選中「共享」,以便保存。
  3. 選擇第二個模塊,「運行所有測試」,並在該配置上選中「共享」。
  4. 在「啓動前」部分,單擊「+」並選擇「運行另一個配置」,然後選擇第一個模塊的配置。

這樣您可以按順序運行配置,每個配置都會獲得一個新選項卡。儘管如此,總比沒有好。

+0

謝謝!迄今最清潔的方式。想知道3年後是否有更好的方法來實現這個:) – CoderSpinoza 2016-08-11 09:51:16

+0

謝謝!您節省了我的時間,而且迄今爲止,這仍然是我可以找到的最巧妙的方式,可以一次性解決多重覆蓋率報告生成和統一案例跑步者問題**。 – Fei 2016-09-19 01:53:45

+0

我剛剛使用更好的解決方案編輯了我的anser @CoderSpinoza – 2016-09-19 07:47:18

20

你必須創建一個「運行配置」:

  1. 轉至頂部的下拉菜單,在「製作」按鈕的右邊,點擊它
  2. 選擇「編輯配置」
  3. 現在點擊「+​​」按鈕添加一個新的運行配置,然後選擇JUnit
  4. 然後,在配置「運行配置」時,您會看到一個「Test Kind」下拉列表,選擇「目錄中的所有類「
  5. 選擇t要用作根目錄的目錄,可以爲項目或模塊的任何目錄選擇頂級目錄。
  6. 選擇的IntelliJ模塊從那裏拿起類路徑(也可以是頂級項目,如果它有一個classpath)
+0

感謝您的提示,但它不能解決問題。完美的方式是選擇幾個dirs,而不僅僅是一個dirs。解決方法是使用模式,但仍然只能對包裝進行打樣,而不能打樣。 – 2012-07-16 12:46:10

+12

在「測試類型」中選擇「包裝中的所有」,然後選擇「在整個項目中」複選框。這將在所有模塊中運行測試。 – 2013-01-17 16:19:45

+4

我希望每個模塊都可以使用它自己的模塊目錄作爲工作目錄 - 這看起來似乎不可能,它似乎使用單個模塊目錄來完成整個任務。 – bacar 2014-09-30 10:53:33

5

對於我來說,這兩種解決方案都沒有工作或沒有預期的工作。

對我來說我有3個模塊。我模塊的依賴關係是這樣的

介紹 - > - >數據

我只是想執行所有測試在一起。所以,我想出了「跨模塊依賴性」的做法

我的設置是這樣的:當需要在多個項目的代碼覆蓋率

enter image description here

0

另一個不那麼明顯的情況下。天真的解決方案是選擇多個項目並一次運行所有單元測試。事實證明,如果類路徑更改並且IntelliJ每次運行配置只有一個類路徑條目,則單元測試可能會失敗。在這種情況下,按順序對項目運行單元測試就足夠了。這是因爲在每次運行結束時,IntelliJ(2017.2.5 Community Edition)會詢問收集的覆蓋範圍是應該替換還是應該添加到以前收集的覆蓋率統計信息中。