JavaScript自動(dòng)化測試框架--Jasmine

? ? ? ? 兩年前接觸到JS的自動(dòng)化測試框架Jasmine(主要是公司日常在用),Jasmine是一個(gè)用于測試JavaScript代碼的行為驅(qū)動(dòng)開發(fā)框架,在這里將平日學(xué)習(xí)積累的內(nèi)容做下整理。

一 、JS的自動(dòng)化框架

javaScript已經(jīng)不光是前段的開發(fā)人員在使用了,很多測試人員也在使用JS的測試框架做自動(dòng)化測試,市面上最常用的JS自動(dòng)化測試框架大概有:Jest、Mocha、Jasmine、Nightwatch等等,各有優(yōu)缺點(diǎn),這里主要介紹下Jasmine框架

二 、jasmine

? ? jasmine是JavaScript的單元測試框架,上手比較容易,語法如下

1、describe方法

? ? 相當(dāng)于測試用例中的測試集(Test Suit)概念

?describe方法有兩個(gè)參數(shù),用來描述測試集的字符串String和測試代碼function,一個(gè)function中可以包含多個(gè)spec(測試點(diǎn)),每個(gè)spec相當(dāng)一個(gè)測試用例。

2、it 方法

????????jasmine中使用it來定義spec(測試點(diǎn)),it 中同樣的也是包含用來描述測試用例的字符串String和測試代碼function,it中的function是具體的測試驗(yàn)證代碼,可以包含多個(gè)expectations(斷言)

比如:expect(a).toEqual(b);

3、expectations

斷言用expect語句來表示,expect有一個(gè)參數(shù), 代表測試的實(shí)際值,它和表示匹配規(guī)則的Matcher鏈接在一起,Matcher帶有期望值;全部的斷言返回true,這個(gè)測試點(diǎn)才通過,只要有一個(gè)斷言返回false,測試點(diǎn)不通過


4、matcher

????????Matcher實(shí)現(xiàn)了斷言的比較操作,將expectation傳入的實(shí)際值和Matcher傳入的期望值進(jìn)行比較,得出斷言的結(jié)果true or false;

常用的matcher方法有:

toBe()、not.toBe()、toEqual()、toBeDefined()、toBeNull()、toContain()等等

5 、Setup和Teardown方法

jasmine中提供了beforeEach、afterEach、beforeAll、afterAll方法。

beforeEach() :在describe函數(shù)中每個(gè)Spec執(zhí)行之前執(zhí)行;

afterEach()? ? :在describe函數(shù)中每個(gè)Spec執(zhí)行之后執(zhí)行;

beforeAll()? ? :在describe函數(shù)中所有的Specs執(zhí)行之前執(zhí)行,且只執(zhí)行一次

afterAll ()? ? ? : 在describe函數(shù)中所有的Specs執(zhí)行之后執(zhí)行,且只執(zhí)行一次


三、總結(jié)

? ? jasmine的基礎(chǔ)方法很簡單,一般在實(shí)際應(yīng)用中會(huì)根據(jù)實(shí)際的case設(shè)計(jì)調(diào)用發(fā)放和嵌套,初學(xué)本地測試的話可以下載jasmine(可以在開源社區(qū)github上下載?jasmine-standalone-2.4.1.zip

下載解壓之后會(huì)得到:

lib目錄:包含的jasmine的源代碼,把他們(jasmine.css,jasmine.js,jasmine-html.js)引入頁面中,就構(gòu)造了一個(gè)jasmine的運(yùn)行器(Runner)

spec、src?和SpecRunner.html是jasmine的一個(gè)官方完整example,使用瀏覽器直接打開SpecRunner.html就可以看到example的測試結(jié)果

參考文章:http://www.itdecent.cn/p/cbfbfe65d777

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容