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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

玩转Javascript 给JS写测试

發(fā)布時(shí)間:2023/12/9 javascript 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转Javascript 给JS写测试 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? 給js寫測試已經(jīng)不是什么稀奇的事情了,最近項(xiàng)目里用了jasmine和JsTestDriver兩種js測試框架。JsTestDriver易于與持續(xù)構(gòu)建系統(tǒng)相集成并能夠在多個(gè)瀏覽器上運(yùn)行測試輕松實(shí)現(xiàn)TDD風(fēng)格的開發(fā)。當(dāng)在項(xiàng)目中配置好JsTestDriver以后,如同junit測試java文件一般,JsTestDriver可以直接通過運(yùn)行js文件來進(jìn)行單元測試。JsTestDriver框架本身就是JAVA的jar包,需要在本地運(yùn)行并監(jiān)聽一個(gè)端口。JsTestDriver是xUnit測試框架領(lǐng)域的一個(gè)比較新的成員,它最初起源于Google。本文將介紹如何搭建一個(gè)JsTestDriver測試框架。

? 首先簡單介紹一下JsTestDriver的特點(diǎn):

優(yōu)點(diǎn):

1.可以一次測試多個(gè)瀏覽器,使用方法是在啟動服務(wù)時(shí)可以將多個(gè)瀏覽器的路徑作為參數(shù)傳進(jìn)去。

2.測試運(yùn)行得很快,因?yàn)椴恍枰獙⒔Y(jié)果添加到DOM中呈現(xiàn)出來,它們能夠同時(shí)在任意多的瀏覽器中運(yùn)行,未修改的文件瀏覽器會從緩存提取。

3.不需要HTML配件文件,僅僅只需提供一個(gè)或多個(gè)腳本和測試腳本,測試運(yùn)行器運(yùn)行時(shí)會創(chuàng)建一個(gè)空文件。

4.支持其它測試框架,可以測試其它測試框架寫的測試代碼,比如有對應(yīng)的插件可以將QUnit和Jasmine測試代碼轉(zhuǎn)換成JsTestDriver的測試代碼。

缺點(diǎn):

不能在瀏覽器中測試,只能通過自動化工具或控制臺運(yùn)行。生成的結(jié)果不夠直觀。安裝使用稍微有點(diǎn)麻煩,依賴于JAVA環(huán)境

?

搭建步奏:

一.編寫測試test.js

1.給一個(gè)測試js文件寫一個(gè)TestCase用來聲明一個(gè)測試對象

2.寫setUp,初始化被測對象

3.編寫測試函數(shù),js測試驅(qū)動程序提供了一個(gè)聲明,讓測試更容易閱讀和維護(hù)方式向測試添加HTML。把有效的HTML在doc注釋和js測試驅(qū)動程序?qū)⑾鄳?yīng)的DOM到一個(gè)變量,或者將其添加到文檔的身體。

?

HtmlDeclaredInTest = TestCase("HtmlDeclaredInTest");HtmlDeclaredInTest.prototype.setUp = function() {//test utils object contains convenience functionsthis.testUtils = new myapp.Greeter(); };HtmlDeclaredInTest.prototype.testVariableHtml = function() {/*:DOC mainDiv = <div id='main'><div class='text'>Hello word.</div></div> */var child = this.testUtils.findFirstDiv(this.mainDiv);assertEquals("text", child.className);assertEquals("Hello word.", child.innerHTML); };

?

二.編寫源文件source.js

1.寫一個(gè)讓測試通過的源代碼

2.運(yùn)行測試

myapp = {};myapp.Greeter = function() { };myapp.Greeter.prototype.findFirstDiv = function(element) {var result, child ;for ( i = 0; i < element.childNodes.length; i++) {child = element.childNodes[i];if (child.nodeType == 1 && child.tagName=='DIV')result = child;}return result; };

三.搭建運(yùn)行環(huán)境

1.在google下載JsTestDriver唯一需要的一個(gè)集成jar包——JsTestDriver.jar

?

2.添加配置文件jsTestDriver.jstd,YAML格式文件,或者默認(rèn)文件為jsTestDriver.conf與jar包同一目錄下。

server: http://localhost:9876 load:- src/*.js- src-test/*.js

3.啟動服務(wù)器

Java -jar JsTestDriver-1.3.5.jar --port 9876 --browser **/**/firefox.exe

訪問?http://localhost:9876/capture

4.運(yùn)行測試

java -jar JsTestDriver-1.3.5.jar --tests all --config **/**/jsTestDriver.jstd

5.結(jié)果

Total 2 tests (Passed: 2; Fails: 0; Errors: 0) (0.00 ms)Safari 528.16: Run 1 tests (Passed: 1; Fails: 0; Errors 0) (0.00 ms)Firefox 1.9.0.10: Run 1 tests (Passed: 1; Fails: 0; Errors 0) (0.00 ms)

?

轉(zhuǎn)載于:https://www.cnblogs.com/Alex--Yang/p/3417163.html

總結(jié)

以上是生活随笔為你收集整理的玩转Javascript 给JS写测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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