亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
Java測試框架選擇JUnit還是TestNG?
作者:網絡轉載 發布時間:[ 2013/4/7 14:58:36 ] 推薦標簽:

  自動測試成為你Java項目中的一部分了嗎?你愛的測試框架是什么哪?使用的又是哪一種標準?

  本文的4名開發者將和你一起分享他們在自動測試領域中的觀點和經驗。當你的項目面臨測試階段的時候,希望這些觀點能對你有所幫助。如果你也想要分享自己的觀點,請回帖參與討論。我們真摯的希望我們能夠為這個領域中新手提供一些有用建議和標準。

  文章后列出了文章的作者和提到的測試框架

  論自動測試——Tom Wheeler當我給那些有經驗的開發者上課時,我發現只有40%左右的人寫測試。大約還有40%的人甚至從來沒聽說過JUnit,這其中更有一般人完全沒有單元測試的概念。開發者通常處于在項目經理制定的緊促計劃的壓力中——而那些項目經理同樣處于客戶的壓力之下,客戶希望他們的軟件能夠被快速的開發出。不幸的是,測試是項目中的一個重要部分而很多人卻輕易的將它砍掉。真是目光短淺,那種做法只會讓你的應用成為bug的樂園而且會大大超出你的計劃時間。

  為什么會這樣?因為寫自動測試實際上省下了大量的運行時間。每個開發者都會出錯而通過測試可以幫助找到這些錯誤。可能手工測試在某些方面要比自動測試更快一些,但是手工測試需要用戶界面。手工測試的結果并不一致,因為測試者和開發者一樣都會犯錯。而一個自動測試總會保持結果的一致性。

  也許更重要的是,當一個舊bug被修復或者新特性被添加時會引入更多的bug.你需要在改變系統后重新運行所有的測試。這也是自動測試的價值體現,因為對比手工測試的開銷,自動測試的開銷是微不足道的。如果開發者經常測試,他們可以更容易地發現并修改問題,這可以保證代碼質量并保證團隊開發的進度。

  比較JUnit和TestNG——Meera Subbraro Martin Fowler曾說過,軟件開發領域中此前從沒有過這樣的事情:很少幾行代碼對大量的代碼起了如此重要的作用。JUnit過去直到如今依然是單元測試的一個標準。它是流行的開源工具。當然現在我們有許多有別于JUnit的其他的開源工具。我自己,除了使用JUnit外,我還是用TestNG.下面我們來談談下這兩個框架。

  JUnit和TestNG都使用Annotation,都使得測試簡單有趣。如果你寫兩個測試類,一個使用JUnit一個使用TestNG,除非你看到它們import語句,否則你幾乎看不到他們之間的差別。

  如果你是一個TDD的信徒,通過運行測試來完成你的持續集成過程。TestNG可能更加適合。重新運行失敗的測試這樣的機制對于每天都進行編譯來說非常有幫助。而這個特性只有TestNG才有。

  TestNG的另一個亮點是支持參數化。在JUnit中如果你要測試不同的參數,你需要寫不同的測試用例來覆蓋不同參數。而在TestNG,通過使用xml配置文件做到。開發者可能會抱怨XML文件“這下好了,除了要維護那些測試用例,我還要維護那么一堆xml文件”。(譯者按:JUnit4也已經支持參數化測試了)

  JUnit生成的HTML格式的報告非常好。我使用TestNG和Java 6,生成的報告遠沒有JUnit那么漂亮。

  后,兩個框架都有自己的長處和弱處,必要時我們可以同時使用。讓我們使用這兩個偉大的框架,享受編寫測試的快樂吧。

  我為什么從JUnit換到了TestNG上——Andres Almiray當我開始編寫測試程序時候,我選擇了JUnit3.x.因為那個時候它是的開源選擇,而且有著相當詳盡的文檔和成堆的書供我參考。在此基礎上還有許多擴展如dbUnit,xmlUnit幫助測試一些大型組件。但是如果我們需要面對更多復雜的測試,通常是集成/功能測試,很明顯JUnit會力不從心。那是為什么我換到TestNG上。Cedric和Alexandru TestNG的作者從一開始很明確,TestNG是為更廣的測試場合而設計,而不僅是單元測試。TestNG可以運行沒有修改過的JUnit測試,這使得兩者的轉換非常平滑。

  稍后發布的JUnit4.x在細節上非常類似TestNG,這也彌補了這兩個框架的裂痕。TestNG仍然是我喜歡的,而且它仍然保持更新。現在在開源的Java測試框架中仍然有新進者,easyb,一個基于Groovy行為驅動開發的測試工具,為Java和Groovy測試。通過編寫合理的測試或是假定一個任務,它可以視為一種規范盡管它是可執行代碼。如果你在Ruby世界中使用Rspec一樣。

  為什么JUnit仍然是——Aslam Khan像許多人開始測試驅動開發和單元測試一樣,我也是從JUnit3.x起步的。我發現JUnit是廣泛的工具,出現在各種不同的地方(ANT,Maven,Eclipse,IntelliJ IDEA, 等)。它也很容易介紹給那些新團隊。我也使用TestNG對它的多樣性同樣印象深刻。然而,JUnit的大量插件(dbUnit,xmlUnit等)使得Junit仍然是的。如果你花大量的時間在Spring上,那么基于Junit的Srping ApplicationContext aware測試用例會帶來優勢。為了測試前臺,我幾乎只使用Selenium.我曾經涉足過Canoo和其他的框架,但是發現這些途徑都是反TDD模式的。使用Selenium,我可以處理Selenium測試腳本和記錄,給任何需要的人并日后處理。

  如果我們談論的是純粹的TDD,即書寫良好的代碼(不僅僅是良好的測試)需要增加一個mock測試。對于mocking,我使用Jmock,它和Junit配合良好,通過基于mock的方式和程序內部邊界,我得到了設計良好的,互相通信的對象。這在可讀性和可維護性上邁出了重要的一步。EasyMock也不錯,但是Jmock是我個人的。

  從Java世界上溯到Ruby世界中,RSpec很而且也有DSL來描述場景。既然Rbehave已經融合進了Rspec,這樣的整合將成為Ruby世界的。有趣的是,Rbehave是從Jbehave衍生來來,它是一個行為驅動開發測試框架。如果你喜歡BDD模式來收集和確定需求,你會喜歡Jbehave和RSpec.

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 草草免费观看视频在线 | 日韩在线 中文字幕 | 黄色网一级片 | 五月天毛片| 欧美日韩亚洲国产精品 | www.免费黄色| 天天操天天干天天摸 | 91最新网站免费 | 成人公开免费视频 | 国产在线观看不卡免费高清 | 久久免费观看国产精品 | 日本在线资源 | 国产免费无遮挡在线观看视频 | 麻豆国产高清在线播放 | 人人草人人爽 | 成人在线观看一区 | 午夜亚洲视频 | 末成年娇小性色xxxxx | 国产丝袜视频在线 | 91丝袜足控免费网站xx | 国产亚洲人成网站在线观看 | 国产一卡二卡三卡 | 中文字幕亚洲 综合久久 | 亚洲产国偷v产偷v自拍色戒 | 伊人网在线免费观看 | 动漫美女日批 | 亚洲欧美一区二区三区国产精品 | 丝袜美女足淫美足美脚网站 | 23部禽女乱小说内裤畸情 | 成 人 黄 色视频免费播放 | 亚洲成人中文 | a级在线免费观看 | 国产农村一二三区 | 免费午夜在线视频 | 国产在线乱子伦一区二区 | 国产精品人成 | 日韩欧美三级 | 日本一道在线观看 | 最近中文字幕在线 | 男人趴在女人身上曰皮免费 | 最新在线鲁丝片eeuss第1页 |