一、常用開發(fā)工具
作為一名 Java 程序開發(fā)人員,可選擇的集成開發(fā)環(huán)境 IDE(Integrated Development Environment)非常多,這得益于 Java 是一門開源語言。
有開源免費(fèi)的;有商用收費(fèi)的。
如何選擇一款適合自己的集成開發(fā)環(huán)境,亦或說選擇一款符合自己項(xiàng)目開發(fā)需要的集成開發(fā)環(huán)境。
選擇得當(dāng)能夠使得開發(fā)工作事半功倍;否則事倍而功半。
免費(fèi)開源 Eclipse
Eclipse 最初是由 IBM 公司開發(fā)的替代商業(yè)軟件 Visual Age for Java 的下一代 IDE 開發(fā)環(huán)境,2001 年 11 月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營(yíng)利軟件供應(yīng)商聯(lián)盟 Eclipse 基金會(huì)(Eclipse Foundation)管理。
Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。
幸運(yùn)地是 Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。
Eclipse 是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。
最初主要用來 Java 語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如 C++、PHP、Python 等語言的開發(fā)工具。
Eclipse 的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得 Eclipse 擁有其他功能相對(duì)固定的 IDE 軟件很難具有的靈活性。許多軟件開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE。
商用收費(fèi) MyEclipse
MyEclipse 是 Eclipse 的插件,也是一款功能強(qiáng)大的 J2EE 集成開發(fā)環(huán)境,由 Genuitec 公司發(fā)布,它是商用收費(fèi)的。
MyEclipse 是對(duì) Eclipse IDE 的擴(kuò)展,利用它可以在數(shù)據(jù)庫(kù)和 JavaEE 的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。
它是功能豐富的 JavaEE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持 HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate,Spring。
Oracle 公司免費(fèi)的 NetBeans
NetBeans 是 Sun 公司(2009 年被甲骨文收購(gòu))在 2000 年創(chuàng)立的開放源代碼供開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級(jí)的 Java IDE。
NetBeans 當(dāng)前可以在 Solaris、Windows、Linux 和 Macintosh OS X 平臺(tái)上進(jìn)行開發(fā),并在 SPL(Sun 公用許可) 范圍內(nèi)使用,是一個(gè)屢獲殊榮的集成開發(fā)環(huán)境。
NetBeans 包括開源的開發(fā)環(huán)境和應(yīng)用平臺(tái),NetBeans IDE 可以使開發(fā)人員利用 Java 平臺(tái)能夠快速創(chuàng)建 Web、企業(yè)、桌面以及移動(dòng)的應(yīng)用程序,NetBeans IDE 目前支持 PHP、Ruby、JavaScript、Ajax、Groovy、Grails 和 C /C + + 等開發(fā)語言。
NetBeans 項(xiàng)目由一個(gè)活躍的開發(fā)社區(qū)提供支持, NetBean 開發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
IntelliJ IDEA
IntelliJ IDEA 是一款綜合的 Java 編程環(huán)境,被許多開發(fā)人員和行業(yè)專家譽(yù)為市場(chǎng)上最好的 IDE。
它提供了一系列最實(shí)用的的工具組合:智能編碼輔助和自動(dòng)控制,支持 J2EE,Ant,JUnit,SVN 和 Git 集成,非平行的編碼檢查和創(chuàng)新的 GUI 設(shè)計(jì)器。
IDEA 把 Java 開發(fā)人員從一些耗時(shí)的常規(guī)工作中解放出來,顯著地提高了開發(fā)效率。具有運(yùn)行更快速,生成更好的代碼;持續(xù)的重新設(shè)計(jì)和日常編碼變得更加簡(jiǎn)易,與其它工具的完美集成;很高的性價(jià)比等特點(diǎn)。
IntelliJ IDEA 以前是收費(fèi)軟件,不過在 2009 年以后就開始推出了免費(fèi)的社區(qū)開源版本。不過商用還是需要收費(fèi)的。
Eclipse、MyEclipse、NetBeans 和 IntelliJ IDEA 的特點(diǎn)和適用場(chǎng)景:
Eclipse、MyEclipse、NetBeans 和 IntelliJ IDEA 這四個(gè) IDE 有著不同的特性和優(yōu)點(diǎn),根據(jù)開發(fā)的不同可能需要選擇不同的 IDE。
在 Java 開發(fā)的每個(gè)方面,這四個(gè) IDE 都能勝任工作,然而根據(jù)你所做的不同開發(fā)例如 Swing 開發(fā),web 開發(fā)或者企業(yè)開發(fā),選擇 IDE 就有所偏向。
(1)Swing 開發(fā)
如果你專門從事 Swing 開發(fā),NetBeans 無疑是最好的選擇。
如果你沒有選擇 NetBeans 而是選擇了 Eclipse,建議使用 MyEclipse 和它的 Matisse4Eclipse 構(gòu)造器。
IDEA 由于對(duì) JGoodies Forms 的支持,所以在開發(fā) Swing 方面與前兩者相比并不占有優(yōu)勢(shì)。
(2)JSP/Struts 開發(fā)
開發(fā) JSP/Struts 首選的是 IDEA,接下來是 MyEclipse,然后是 NetBeans,由于缺少對(duì)內(nèi)建 Struts 的支持,Eclipse 的基本版本沒有競(jìng)爭(zhēng)優(yōu)勢(shì)。
(3)JSF 開發(fā)
在開發(fā) JSF 方面,這三個(gè) IDE 可以說都是很好的選擇,但是 IDEA 可能會(huì)更好一點(diǎn),接下來是 Eclipse/MyEclipse,最后是 NetBeans。
(4)企業(yè)開發(fā)
由于 NetBeans 對(duì) JPA 的支持和它產(chǎn)生代碼的質(zhì)量以及對(duì)持久化單元合適的設(shè)置,所以在企業(yè)開發(fā)方面,NetBeans 是首選,接下來是 IDEA。
由于 Eclipse 的 Dali 項(xiàng)目的限制,Eclipse 可能是最后選擇的。如果放棄標(biāo)準(zhǔn)的 JPA,從事 Hibernate 開發(fā),MyEclipse 是最好的選擇。
除了上面提到的這四款由大公司開發(fā)的 IDE 外,JAVA 開發(fā)的 IDE 還有很多,例如 Spring 基于 eclipse 推出的 STS Spring Tool Suite、小而且快的 JCreator。
但是以上最常用的 eclipse 和 IntelliJ IDEA。
國(guó)內(nèi) Java 開發(fā)人員使用的最多也是 eclipse 和 IntelliJ IDEA。筆者用的最多是 eclipse 及 Spring 基于 eclipse 推出的 STS。
二、常用接口測(cè)試工具
作為一名開發(fā)人員,完成開發(fā)工作后,單元測(cè)試及接口測(cè)試必不可少。單元測(cè)試不用說了,Java 人員幾乎都是使用 JUnit 及 JUnit 相關(guān)的測(cè)試框架。
對(duì)于接口測(cè)試呢?有什么工具可以使用呢?在說工具之前先來了解兩個(gè)問題。
什么是接口測(cè)試?
用來檢查各個(gè)組件的接口的測(cè)試,接口測(cè)試主要檢查外部系統(tǒng)與系統(tǒng)之間以及各個(gè)子系統(tǒng)之間的交互點(diǎn),測(cè)試的重點(diǎn)在數(shù)據(jù)的傳遞上。
為什么要做接口測(cè)試?
如果項(xiàng)目全部推行單元測(cè)試,時(shí)間上不允許,而接口測(cè)試是一種特殊的單元測(cè)試,覆蓋率沒有做到所謂的單元測(cè)試的百分之百。
不過覆蓋了所有的面像用戶的功能點(diǎn),而且接口測(cè)試可以采用自動(dòng)化 + 持續(xù)集成的方式,節(jié)約時(shí)間了成本,同時(shí)提高了效率。
java 第三方包 httpclient
如果使用 httpclient 進(jìn)行接口測(cè)試,免不了開發(fā)人員還需要自己動(dòng)手去編寫代碼,這個(gè)不是首選方案。筆者也不推薦這個(gè)方案,增加了程序人員的工作強(qiáng)度。
Postman
Postman 是一款功能非常棒的 Chrome 擴(kuò)展,提供功能強(qiáng)大的 API&HTTP 請(qǐng)求調(diào)試。它可以發(fā)送幾乎所有類型的 HTTP 請(qǐng)求,并可以附帶任何數(shù)量的參數(shù)和請(qǐng)求頭(headers)。
可以說 Postman 滿足了 HTTP 接口測(cè)試的大部分功能,只有少部分的功能不被支持,比如:請(qǐng)求流程的控制;使得程序員可以在編寫一些單元測(cè)試中解脫出來。