伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 學(xué)習(xí)交流 > 詳解單元測(cè)試的構(gòu)成

詳解單元測(cè)試的構(gòu)成

2018-01-04 17:48:43 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)

通常來(lái)說(shuō),單元測(cè)試和開發(fā)人員相關(guān)度很高。中培《軟件自動(dòng)化測(cè)試與持續(xù)集成》的劉老師認(rèn)為,主要的原因是:根據(jù)定義,單元測(cè)試用于測(cè)試系統(tǒng)中與其他部分隔離、定義良好的部分。因此,它們比較容易編寫和使用。

許多構(gòu)建系統(tǒng)已經(jīng)內(nèi)置對(duì)單元測(cè)試的支持,不用花費(fèi)太大力氣就可以使用。

例如Maven,就有這樣的約定:描述如何寫測(cè)試才能讓構(gòu)建系統(tǒng)找到測(cè)試、執(zhí)行測(cè)試并最終準(zhǔn)備報(bào)告結(jié)果。編寫測(cè)試基本上可以歸結(jié)為編寫測(cè)試方法,通過(guò)在源代碼加注解來(lái)標(biāo)記它們。因?yàn)檫@些都是普通的方法,所以它們可以做任何事情,但是根據(jù)約定,應(yīng)該編寫測(cè)試,這樣就不需要花費(fèi)很大的力氣去運(yùn)行。如果測(cè)試代碼開始需要復(fù)雜的設(shè)置和運(yùn)行時(shí)依賴,我們處理的就不再是單元測(cè)試了。

這里單元測(cè)試和功能測(cè)試的差別很讓人困惑。通常來(lái)說(shuō),相同的底層技術(shù),類庫(kù)會(huì)在單元測(cè)試和功能測(cè)試之間重復(fù)使用。

復(fù)用一般來(lái)說(shuō)是一件好事情,因?yàn)樗梢宰屇愎ぷ髟诹硪粋€(gè)領(lǐng)域時(shí),從你的專業(yè)領(lǐng)域中獲益。盡管如此,還是會(huì)時(shí)不時(shí)地帶來(lái)困擾,你必須打起精神,花費(fèi)一些力氣,確保你正在做正確的事情。

—般的JUnit和特殊的JUnit你需要一些東西去運(yùn)行你的測(cè)試。JUnit是一個(gè)框架,它可以讓你在Java代碼中定義和運(yùn)行測(cè)試。

JUnit屬于統(tǒng)稱為xUnit的測(cè)試框架家族。SUnit是這個(gè)家族的祖先,由Kent Beck在1998年為Smalltalk語(yǔ)言而設(shè)計(jì)。

JUnit是Java語(yǔ)言的測(cè)試框架,同樣想法被移植到了其他語(yǔ)言,如C#。C#對(duì)應(yīng)的測(cè)試架毫無(wú)想象力地叫作NUnit。N來(lái)自.NET,微軟軟件平臺(tái)的名字。

在話題繼續(xù)之前,我們需要了解下面的命名法則。命名的法則不特定于JUnit,但是我們會(huì)用JUnit作為例子來(lái)熟悉涉及到的定義。

測(cè)試運(yùn)行器( Test runner):測(cè)試運(yùn)行器運(yùn)行由xUnit框架定義好的測(cè)試。

JUnit可以通過(guò)命令行去運(yùn)行單元測(cè)試,Maven使用的測(cè)試運(yùn)行器叫作Surefire。

測(cè)試運(yùn)行器也會(huì)同時(shí)收集和匯報(bào)測(cè)試結(jié)果。以Surefue為例,報(bào)告是XML格式的,并且可以被其他工具進(jìn)一步處理,如可視化。

測(cè)試用例(Test case):測(cè)試用例是最基本類型的測(cè)試定義。

用不同的JUnit版本創(chuàng)建測(cè)試用例存在些許不同。在早期的版本中,需要從JUnit基類繼承,最近的版本中,只需要給測(cè)試方法添加注解。這樣的方式會(huì)更好些,因?yàn)镴ava不支持多繼承,而且你有可能想使用自己的繼承結(jié)構(gòu)而不是JUnit的繼承結(jié)構(gòu)。按照約定,Surefire也會(huì)定位類名前綴為TeSt的測(cè)試類。

測(cè)試夾具( Test fixt"res):測(cè)試夾具是測(cè)試用例可以依賴的一個(gè)已知狀態(tài),可以使測(cè)試具有良好定義的行為。開發(fā)者有責(zé)任去實(shí)現(xiàn)這些測(cè)試夾具。測(cè)試夾具有時(shí)也被稱為測(cè)試上下文( test context)。

在JUnit中,你通常會(huì)使用@Before和@After注解去定義測(cè)試夾具。@Before,顧名思義,是在測(cè)試用例前運(yùn)行,用于準(zhǔn)備好整個(gè)環(huán)境。同理,如果有需要,用 @After來(lái)恢復(fù)成初始狀態(tài)。

有時(shí),為了更好表意,@Before和@After也被命名為Setup和蠆eardovvn。因?yàn)槭褂昧俗⒔猓谏舷挛闹蟹椒梢杂凶钪庇^的名字。

測(cè)試套件(TeMsuites):在測(cè)試套件中你可以將測(cè)試用例分組。測(cè)試套件通常是一組共享測(cè)試夾具的測(cè)試用例。

測(cè)試執(zhí)行器(Test exeeUtion):測(cè)試執(zhí)行器運(yùn)行測(cè)試套件和測(cè)試用例。

這里結(jié)合了前面的所有方面。定位測(cè)試套件和測(cè)試用例,創(chuàng)建相關(guān)的測(cè)試夾具,然后運(yùn)行測(cè)試用例。最后,收集和整理測(cè)試結(jié)果。

測(cè)試結(jié)果格式化工具( Test result formatter):測(cè)試結(jié)果格式化工具格式化測(cè)試輸出結(jié)果,方便人們閱讀。JUnit使用多種多樣的格式,可以被其他和JUnit沒有直接關(guān)聯(lián)的測(cè)試框架和格式化工具使用。所以,如果你的一些測(cè)試沒有使用任何的xUnit測(cè)試框架,你還是可以通過(guò)提供XML格式的測(cè)試結(jié)果,將其展示在Jenkins中。因?yàn)槲募袷绞荴ML,如果有必要,你也可以用自己的工具去生成。

斷言(Assertions):斷言是xUnit框架的一種構(gòu)造,用來(lái)確保條件被滿足。如果條件沒有滿足,它會(huì)認(rèn)為這是個(gè)錯(cuò)誤,并且匯報(bào)這個(gè)測(cè)試錯(cuò)誤。測(cè)試用例通常在斷言失敗時(shí)終止。

想了解更多IT資訊,請(qǐng)?jiān)L問(wèn)中培偉業(yè)官網(wǎng):中培偉業(yè)

相關(guān)閱讀

主站蜘蛛池模板: 国产精品视频一区二区免费不卡 | 亚洲AV永久无码精品网站 | 又黄又爽的成人免费视频 | 荷兰一级片 | 日韩精品久久久毛片一区二区 | 日韩欧美视频免费在线观看 | 国内精品久久久久影院免费 | 欧美1区2区在线观看 | 99亚洲天堂 | 国产免费一区二区三区四在线播放 | 久久这里精品青草免费 | 免费视频日韩 | 大胆精选欧美gogo人体 | 一级毛片不收费 | 亚洲欧美日韩一区二区 | 在线免费观看成人短视频 | 亚洲系列在线 | 成人美女免费网站视频 | 久久久av片 | 向往的生活第2季免费观看 欧美三级精品三区四区 | 精品大片一区二区 | 国产乱叫456在线 | 亚洲中文久久精品无码浏不卡 | 在线播放国产精品三级 | 水蜜桃yy8848私人视院 | 成全影视免费观看大全二 | 两性故事吃奶添下面 | 日本高清在线一区二区三区 | 青青草国产精品欧美成人 | 鲁大师影院在线观看 | 男女边吃奶边做边爱视频 | 国产成人1区 | 日韩视频精品在线 | 久久蜜桃资源一区二区老牛 | 粗大的内捧猛烈进出无码 | 97理论三级九七午夜在线观看 | 亚洲精品国产乱码久久久1区 | 国产综合久久久久久鬼色 | 忘忧草精品久久久久久久高清 | 尤物丰满少妇大尺度喷血写真 | 夜色福利院在线观看免费 |