日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

junit简单介绍

發(fā)布時(shí)間:2024/1/1 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 junit简单介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

整體內(nèi)容順序轉(zhuǎn)載自百度百科:junit 下面也添加了自己的見解
以前在做單元測(cè)試時(shí)不怎么注意,感覺單元測(cè)試有時(shí)候是多余的,但是現(xiàn)在工作了,才知道原來單元測(cè)試這么牛逼,雖然簡(jiǎn)單,但是里面的東西會(huì)很幫助我們,如果你現(xiàn)在還只是簡(jiǎn)單的運(yùn)用junit,而不是在項(xiàng)目里時(shí)刻的用到,那么你可能很牛逼了,竟然靠經(jīng)驗(yàn)就可以知道這個(gè)有沒有bug。

Junit是一個(gè)java語言的單元測(cè)試框架,也是回歸測(cè)試框架,在軟件軟工中也叫白盒測(cè)試,繼承TestCase類(Junit4的測(cè)試類不用再繼承TestCase父類,引入了Annotation(注解))

一、junit的優(yōu)點(diǎn)

  • 極限編程:要求在編寫代碼前先寫測(cè)試,這樣可以強(qiáng)制你在寫代碼之前好好思考代碼的功能與邏輯,否則編寫的代碼很不穩(wěn)定,也通俗的叫在寫代碼前自己想想你這個(gè)方法根據(jù)參數(shù)想得到的結(jié)果是什么? 也可以認(rèn)為是從結(jié)果出發(fā),所以很鍛煉你的思維,讓你養(yǎng)成極限的思維:構(gòu)思->編寫測(cè)試代碼->編寫代碼->測(cè)試。而且可以很快的找到問題的原因,不怕以后忙起來忘了這里原來是怎么測(cè)試的,并進(jìn)行重復(fù)繁瑣的測(cè)試工作。
  • 重構(gòu):這個(gè)也是改一點(diǎn)測(cè)一點(diǎn),減少回歸錯(cuò)誤造成的時(shí)間消耗,就算重構(gòu)也不會(huì)影響你這個(gè)犯法返回的結(jié)果什么,重構(gòu)只是讓代碼更加簡(jiǎn)潔,更加易懂,得到的結(jié)果如果改變,就不叫重構(gòu)了。
  • 自動(dòng)化:以前我們自己測(cè)試要debug打斷點(diǎn)或者輸出結(jié)果看看,這樣增加了自己的工作量,影響我們的效率,尤其是對(duì)于復(fù)用的方法,如果里面的邏輯變了,是否會(huì)得到我們想要的結(jié)果。而junit就幫我們?nèi)孔隽?#xff0c;它有斷言功能,Assert來對(duì)結(jié)果進(jìn)行比較,是否符合自己的預(yù)期,非常方便。比如java肯定要面向接口編程,那一個(gè)接口服務(wù)就可以做一個(gè)單元測(cè)試,當(dāng)服務(wù)里面的邏輯更改后,只需要?jiǎng)觿?dòng)鼠標(biāo)就知道自己的這個(gè)服務(wù)是否能得到自己想要的結(jié)果
  • 隔離性:這個(gè)就需要我們自己去設(shè)置,一般推薦測(cè)試用例不要是歷史數(shù)據(jù),因?yàn)橐坏﹣G失,單元測(cè)試就會(huì)失敗。需要注意的是單元測(cè)試類的單元測(cè)試方法之間是互不干擾的,而且執(zhí)行順序是不可預(yù)測(cè)的,不要想著先執(zhí)行這個(gè)單元測(cè)試,留下結(jié)果給下一個(gè)單元測(cè)試,這是非常不對(duì)的,。
  • 二、用junit需要注意的事情

  • 不要用TestCase的構(gòu)造函數(shù)初始化Fixture,而要用setUp()和tearDown(),junit4就可以用**@Before**和 @After代替
  • 不要依賴或假定測(cè)試運(yùn)行的順序,因?yàn)镴unit利用Vertor保存測(cè)試方法,所以不同的平臺(tái)會(huì)按不同的順序從Vertor中取出測(cè)試方法。
  • 避免編寫有副作用的TestCase,如果測(cè)試數(shù)據(jù)依賴于某些特定的交易數(shù)據(jù),就不要提交交易數(shù)據(jù),簡(jiǎn)單回滾就可以(前提是需要設(shè)置事務(wù))
  • 測(cè)試類和測(cè)試方法應(yīng)該有一致的命名方案,如在工作類名前加Test形成測(cè)試類名,方法名前加test
  • 確保測(cè)試與時(shí)間無關(guān),不要依賴使用過期的數(shù)據(jù),導(dǎo)致后期維護(hù)過程很難重現(xiàn)測(cè)試,尤其是你用的數(shù)據(jù)被刪除了
  • 如果編寫的軟件面向國(guó)際市場(chǎng),編寫測(cè)試時(shí)就要考慮國(guó)際化的因素,不要僅用母語的Local進(jìn)行測(cè)試。
  • 盡可能的利用Junit提供的Assert/Fail方法以及異常處理的方法,可以使代碼簡(jiǎn)潔、高效,自動(dòng)化。
  • 測(cè)試盡可能的小(一個(gè)方法一個(gè)單元測(cè)試一般不會(huì)這樣,自己一般是一個(gè)服務(wù)一個(gè)單元測(cè)試方法,一個(gè)Controller一個(gè)單元測(cè)試方法),執(zhí)行速度快(這個(gè)就要看你這個(gè)測(cè)試有沒有時(shí)間要求)
  • 不要硬性規(guī)定數(shù)據(jù)文件的路徑,尤其是本地文件,否則再別的機(jī)器上可能就會(huì)找不到路徑
  • 利用Junit的自動(dòng)異常處理,不用在測(cè)試方法里寫try{}catch{},Junit 會(huì)自動(dòng)捕獲異常。那些沒有被捕獲的異常就被當(dāng)成錯(cuò)誤處理。
  • 總結(jié)

    以上是生活随笔為你收集整理的junit简单介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。