大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java 開發(fā)者必備測(cè)試框架

Java 開發(fā)者必備測(cè)試框架

更新時(shí)間:2019-08-26 10:37:54 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3047次

  測(cè)試是一門能夠區(qū)分專業(yè)開發(fā)人員與業(yè)余開發(fā)人員的重要學(xué)科。這不在于你掌握TDD、BDD或者其他一些測(cè)試方法,而是在最基礎(chǔ)的層面,你是否能夠編寫測(cè)試代碼來進(jìn)行自動(dòng)化測(cè)試。


  許多Java開發(fā)人員都會(huì)編寫單元測(cè)試和集成測(cè)試代碼,這些測(cè)試代碼在構(gòu)建時(shí)自動(dòng)運(yùn)行。開發(fā)者主要借助一些持續(xù)集成工具來編寫測(cè)試代碼,比如Jenkins或者TeamCity。


  你是否對(duì)此充滿疑慮:為什么程序員應(yīng)該關(guān)注自動(dòng)化測(cè)試?事實(shí)上,隨著DevOps的出現(xiàn)和普及,自動(dòng)化測(cè)試的重要性正在呈指數(shù)增長(zhǎng)。


  公司通常更喜歡那些擅長(zhǎng)編寫單元測(cè)試的程序員,如果程序員還熟悉各種單元測(cè)試框架、庫和工具那就更好了。比如JUnit、Selenium、REST-Assured、Spock框架等。


  作為一名Java開發(fā)者,我們需要從事各種截然不同的工作。比如,編寫核心Java代碼、創(chuàng)建JSP頁面、編寫RESTAPI、甚至編寫Groovy腳本用于自動(dòng)化構(gòu)建。我們還需要了解不同的工具來進(jìn)行自動(dòng)化測(cè)試。


  例如,之前很長(zhǎng)的一段時(shí)間我只知道JUnit。后來我不得不測(cè)試JSP頁面,當(dāng)我了解了Selenium之后頓時(shí)豁然開朗。RESTAssured也一樣,我通常使用curl指令測(cè)試我的RESTAPI,它將RESTAPI的單元測(cè)試提升到了一個(gè)新的級(jí)別。


  我認(rèn)為一名優(yōu)秀的程序員需要學(xué)會(huì)使用和利用工具,因此我經(jīng)常利用空閑時(shí)間學(xué)習(xí)和探索各種新的工具和庫,本文將展示一部分我所熟知的工具。


  在本文中,小編將分享10個(gè)最好的工具、框架和庫,以幫助Java開發(fā)人員在不同的Java項(xiàng)目中更好地執(zhí)行單元測(cè)試和集成測(cè)試。


  ▌JUnit


  JUnit應(yīng)該不需要過多介紹。哪怕你是一位Java初學(xué)者,我想你也應(yīng)該聽說過它,它能夠讓你為Java代碼編寫單元測(cè)試。


  幾乎所有常用的IDE,比如Eclipse、NetBeans和IntelliJ,都能夠集成JUnit,這意味著開發(fā)者直接可以在這些IDE中編寫并運(yùn)行單元測(cè)試。


  目前大多數(shù)人仍然在使用JUnit4,事實(shí)上新的JUnit5已經(jīng)發(fā)布。你可以用JUnit進(jìn)行單元測(cè)試和集成測(cè)試,此外,它還支持Java8功能。

image.png

  ▌RESTAssured


  相比于Groovy這類動(dòng)態(tài)語言,在Java中測(cè)試和驗(yàn)證REST服務(wù)更難。


  RESTAssured為Java帶來了這些語言的簡(jiǎn)單性。這對(duì)于RESTAPI集成測(cè)試來說是一個(gè)很好的工具。

image.png

  ▌Selenium


  Selenium應(yīng)該是最受歡迎的JavaUI測(cè)試工具,有了它,你不需要在瀏覽器中啟動(dòng)JSP頁面即可對(duì)其進(jìn)行測(cè)試。


  你可以使用JUnit和Selenium來測(cè)試Web應(yīng)用程序UI。還可以使用它進(jìn)行Web應(yīng)用程序驗(yàn)收測(cè)試。

image.png

  ▌TestNG


  TestNG這款測(cè)試框架最早源于JUnit和NUnit的啟發(fā),但它在這兩者的基礎(chǔ)上引入了許多新的功能,其功能更強(qiáng)大,也更易于使用,提供了注解功能,支持在任意大型線程池中運(yùn)行各種可用策略的測(cè)試(所有方法都在自己的線程中,每個(gè)測(cè)試類對(duì)應(yīng)一個(gè)線程)。


  隨著JUnit4中注解功能的引入以及Hamcrest框架的整合,JUnit4和TestNG之間的差距已經(jīng)很小。

image.png

  ▌Mockito


  Java有許多Mock框架,例如PowerMock和JMock,但我個(gè)人更喜歡Mockito,它具有簡(jiǎn)單的API、優(yōu)秀的文檔以及大量示例。


  Mock測(cè)試是現(xiàn)代單元測(cè)試的關(guān)鍵技術(shù)之一,開發(fā)者不需要依賴其他情況也可獨(dú)立測(cè)試代碼,因此我建議每個(gè)Java開發(fā)人員都應(yīng)該學(xué)習(xí)Mock框架來與JUnit結(jié)合使用。


  我個(gè)人最喜歡的Mock框架是Mockito,如果你喜歡的話,也可以了解一下PowerMock或者JMock。


  ▌Spock框架


  Spock是一款用于Java和Groovy應(yīng)用程序的測(cè)試和規(guī)范框架。它用Groovy編寫,因此它具有很強(qiáng)的表現(xiàn)力,并且非常規(guī)范。


  使用Spock時(shí),測(cè)試將變得更加易讀易維護(hù)。此外,得益于它的JUnit運(yùn)行器,Spock能夠兼容大多數(shù)IDE、構(gòu)建工具和持續(xù)集成服務(wù)器。


  不過遺憾的是,線上講述Spock框架的課程好像不多,“使用Spock進(jìn)行Java測(cè)試”這本書倒是一個(gè)不錯(cuò)的學(xué)習(xí)資源。

image.png

  ▌Cucumber


  Cucumber是一款很好的自動(dòng)化集成測(cè)試工具,與其他同類工具相比,它的規(guī)范功能是一大特色。


  Cucumber將規(guī)范和測(cè)試文檔合并為一個(gè)文檔,由于文檔也會(huì)被Cucumber自動(dòng)測(cè)試,因此規(guī)范文檔始終會(huì)被更新為最新版本。

image.png

  ▌Spring測(cè)試


  SpringMVC自帶了一個(gè)非常有用的測(cè)試框架,可以在不涉及Web容器的情況下進(jìn)行深入測(cè)試。


  這個(gè)是一個(gè)非常有用的庫,可以為Spring應(yīng)用程序編寫自動(dòng)化測(cè)試。它為Spring應(yīng)用程序(包括MVC控制器)編寫單元和集成測(cè)試提供了強(qiáng)有力的支持。


  還有一個(gè)SpringTestDbUnit,它將Spring測(cè)試框架與DbUnit以及HtmlUnit集成在了一起。


  使用這些工具,你可以輕松完成SpringMVC應(yīng)用程序的自動(dòng)化測(cè)試。


  ▌DBUnit


  對(duì)于大多數(shù)的Java應(yīng)用程序,不管是核心Java程序還是JavaWeb應(yīng)用,數(shù)據(jù)庫都是其不可或缺的重要組成部分,并且數(shù)據(jù)庫還很可能是單元測(cè)試的最大障礙。


  連接到Dev或者UAT數(shù)據(jù)庫進(jìn)行集成測(cè)試是不可靠的,因?yàn)槿魏稳硕伎梢愿臄?shù)據(jù)和模式,比如表和存儲(chǔ)過程,這都會(huì)導(dǎo)致自動(dòng)化集成測(cè)試的失敗。


  DbUnit是JUnit的擴(kuò)展,在每次集成測(cè)試之前它可以將數(shù)據(jù)庫初始化為已知狀態(tài),從而確保數(shù)據(jù)庫包含正確的數(shù)據(jù)。


  DbUnit是一個(gè)非常有用的工具,它可以幫助我們將測(cè)試數(shù)據(jù)和測(cè)試代碼分開。

image.png

  ▌Robot框架


  Robot框架是一個(gè)基于Python的通用自動(dòng)化測(cè)試框架,主要用于驗(yàn)收測(cè)試以及驗(yàn)收測(cè)試驅(qū)動(dòng)開發(fā)。


  它采用表格測(cè)試數(shù)據(jù)語法,是一個(gè)關(guān)鍵字驅(qū)動(dòng)的測(cè)試框架。分布式異構(gòu)應(yīng)用程序的驗(yàn)證往往需要多種技術(shù)和接口,非常適合用Robot來測(cè)試。

image.png

  ▌總結(jié)


  以上就是本文介紹的所有針對(duì)    的單元測(cè)試以及集成測(cè)試的工具、框架和庫。


  還有更多的庫并沒有包含在這個(gè)列表中,例如AssertJ和Hamcrest,它們可以幫助你寫出漂亮且流暢的測(cè)試程序。


  面對(duì)如此多的工具,你應(yīng)當(dāng)先學(xué)習(xí)那些與你日常工作最相關(guān)的。例如,如果你的工作主要涉及JavaUI,那么你應(yīng)該最先學(xué)習(xí)Selenium,然后再學(xué)習(xí)其他工具來擴(kuò)展和提升自己。


  類似的,如果你正在使用RESTAPI,那么最好先學(xué)習(xí)RESTAssured。如果你主要從事核心Java工作,那么你最先學(xué)習(xí)的應(yīng)該是JUnit5。


提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日日摸日日添夜夜爽97 | 亚洲精品久久片久久 | 青青青青久久精品国产一百度 | 人人天天夜夜 | 午夜不卡影院 | a毛片在线 | 成人免费久久精品国产片久久影院 | 欧美成人免费观看国产 | 日本午夜免费理论片 | 水蜜桃久久 | 一级女人18片毛片免费视频 | 精品一区二区三区免费观看 | 国产成人久久精品区一区二区 | 一级a级毛片 | 青青青国产免费手机视频在线观看 | 欧美视频 亚洲视频 | 91精品国产高清91久久久久久 | 久久精品免费一区二区三区 | 亚洲毛片在线观看 | 欧美亚洲h在线一区二区 | 成人a视频高清在线观看 | 亚洲免费在线观看视频 | 国产欧美日本亚洲精品五区 | 亚洲欧美小视频 | 亚洲欧美日韩国产vr在线观 | 国产日韩欧美在线观看不卡 | 国产福利午夜 | 久久99国产亚洲高清观看首页 | 九九热最新视频 | 国产精品毛片va一区二区三区 | 免费高清在线影片一区 | 视频综合网 | 99久久一香蕉国产线看观看 | 国产成人精品一区二三区在线观看 | 久久婷婷国产一区二区三区 | 亚洲欧美日韩一级特黄在线 | 久久香蕉网站 | 国产乱码精品一区二区三上 | 国产成人高清在线观看播放 | 国产精品久久久久久久久免费观看 | 国产成人精品s8p视频 |