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

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

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

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

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

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

JUnit屬于統(tǒng)稱(chē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è)試用例是最基本類(lèi)型的測(cè)試定義。

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

測(cè)試夾具( Test fixt"res):測(cè)試夾具是測(cè)試用例可以依賴(lài)的一個(gè)已知狀態(tài),可以使測(cè)試具有良好定義的行為。開(kāi)發(fā)者有責(zé)任去實(shí)現(xiàn)這些測(cè)試夾具。測(cè)試夾具有時(shí)也被稱(chēng)為測(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沒(méi)有直接關(guān)聯(lián)的測(cè)試框架和格式化工具使用。所以,如果你的一些測(cè)試沒(méi)有使用任何的xUnit測(cè)試框架,你還是可以通過(guò)提供XML格式的測(cè)試結(jié)果,將其展示在Jenkins中。因?yàn)槲募袷绞荴ML,如果有必要,你也可以用自己的工具去生成。

斷言(Assertions):斷言是xUnit框架的一種構(gòu)造,用來(lái)確保條件被滿足。如果條件沒(mé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毛片 | 波多野结AV衣东京热无码专区 | 国产九九久久99精品影院 | www.免费黄色 | 天天综合网7799精品视频 | 污污的网站在线免费观看 | 美女把尿口扒开让男人桶爽 | 国产精品久久久久久久久久嫩草 | 西西人体大胆444www高清大但 | 超碰人人看人人 | 无码国产精品免费看 | 国产成人精品久久一区二区三区 | 日韩精品一区二 | 亚洲av无码日韩av无码伊甸园 | 99免费在线观看视频 | 奇米在线免费视频 | 国产美女99p | 91麻豆6部合集magnet | 国产丝袜美女一区 | 4438xx亚洲最大五色丁香 | 国精产品一区一区三区有限在线 | 国产亚洲欧美日韩在线观看一区二区 | 国语精品对白露脸少妇网站 | 毛片大全免费 | 欧美a在线看 | 国产湖南美女精品毛片 | 日韩欧美在线观看免费 | 日韩欧美一本 | 一区二区三区日本视频 | 国产精品人人妻人人爽 | 3344成年免费 | 澳门av一区 | 亚?欧美?合一区二区 | 永久在线观看 | 天堂俺去俺来也www久久婷婷 | 国产精品久久久久久久久福交 | 亚洲一区二区三区四区五区 | 成人av中文解说水果派 | 日产久久久久久 | 日韩av大片在线 | 一级毛片成人免费看免费不卡 |