JavaScript則試
現(xiàn)在幾乎所有產(chǎn)品都擁有web界面,因此JavaScript的測(cè)試框架特別值得一提
Karma是JavaScript語(yǔ)言單元測(cè)試的測(cè)試運(yùn)行器。
Jasmine是一個(gè)類(lèi)似Cucumber的行為測(cè)試框架。
Protractor是AngularJS的測(cè)試框架。
Protractor是一個(gè)別具一格的測(cè)試框架,作用和Selenium類(lèi)似的流行的JavaScript用戶(hù)界面框架,但是為AngularJS做了優(yōu)化。雖然現(xiàn)在每天都會(huì)出現(xiàn)新的web測(cè)試框架,注意到在可以使用Selenium測(cè)試來(lái)測(cè)試AngularJS應(yīng)用的前提下,像Protractor這樣的測(cè)試框架依舊存在,是一件很有趣的事情。
首先,Protractor在底層使用了Selenium web驅(qū)動(dòng)實(shí)現(xiàn)。
你可以用JavaScript來(lái)實(shí)現(xiàn)Protractor測(cè)試,如果不喜歡用Java實(shí)現(xiàn)測(cè)試,你也可以用JavaScript實(shí)現(xiàn)Selenium的測(cè)試用例。
使用Protractor的好處在于它內(nèi)建了對(duì)AngularJS的支持,而像Selenium這樣通用的框架不能做到這點(diǎn)。
AngularJS有其特有的模型/視圖設(shè)置。其他的框架使用其他的設(shè)置,因?yàn)槟P停晥D設(shè)置不是JavaScript語(yǔ)言固有的——不管怎么說(shuō),現(xiàn)在還是沒(méi)有。
Protractor了解Angular的特點(diǎn),因此對(duì)于特殊的結(jié)構(gòu)來(lái)說(shuō),它更容易在測(cè)試代碼中定位控制器。