2011-01-12 93 views

回答

3

無論您選擇什麼,測試併發代碼都很困難。

TestNG具有創建多個線程並在併發測試中運行它們的機制。我相信在JUnit測試中可以創建一堆FutureTasks來實現一種方法。它僅在JUnit 4中不受支持。

優點?這裏有幾個:

  1. 將測試代碼從生產代碼中分離出來。
  2. 可以一次爲應用程序運行一套測試。
  3. 支持Ant,Maven和IDE,如IntelliJ和Eclipse。
  4. 已成爲測試驅動開發和敏捷技術思想的一部分。
+0

非常好。非常感謝那個duffmo。請問JUnit是否存在一些缺陷?非常感謝。 – Joeblackdev 2011-01-12 15:45:15

2

的JUnit有兩個優勢:

  1. 它的作品不夠好。而且,就像Perl一樣,它使簡單的事情變得簡單並且讓事情變得可能。我們有適合JUnit框架的測試運行器,但實際上使用ASM字節碼庫進行靜態分析。
  2. 它無處不在。每個人都知道,每個工具都支持它,你可以在網上找到大多數答案。

在JUnit中測試併發代碼是可能的,但它沒有提供任何特別的支持。你必須自己管理你的線程並安排交錯場景。

也就是說,我相信那裏有工具,如果你採用JUnit,你很可能會發現這是來自像hamcrest matchers這樣的測試助手的預期場景。

0

只是爲尋找併發性的人提供一個說明 - 有一個單元測試框架用於測試併發性(東西 - 單元)。谷歌搜索沒有爲我找到它,但我知道它存在,最近閱讀它。