Javascript測試框架Jasmine(七):jqPaginator測試例項
zz from:http://keenwon.com/1225.html
jqPaginator是我自己寫的一個分頁元件,已經用在了公司的兩個專案上。這次學習Jasmine,首先想到的就是怎麼測試下jqPaginator。
看過jqPaginator專案的都知道,它是基於grunt自動化構建的,使用Jasmine自動化測試的話,就要用到grunt-contrib-jasmine了。先大概講一下grunt-contrib-jasmine:
grunt-contrib-jasmine
grunt-contrib-jasmine基於PhantomJS執行Jasmine測試。執行的時候會根據“模板檔案”生成一個html檔案,然後在
DefaultRunner.tmpl
:
一般不需要自定義模板,如果你的測試真的很變態的話,可以參考官方的wiki。先看看官方提供的Demo:
grunt.initConfig({ jasmine: { src: 'src/**/*.js', options: { specs: 'spec/**/*.js' } } });
下面講一下jasmine任務的一些配置:
src
type:String|Array
被測試檔案地址,如果使用RequireJS的話,直接在測試檔案新增依賴就好了,不需要在此設定。
options.specs
type:String|Array
Jasmine specs檔案,也就測試檔案。
options.vendor
type:String|Array
第三方的庫,例如jQuery等,使用預設的模板的情況下,在Jasmine檔案,specs,helpers之前引用進來。
options.helpers
type:String|Array
除了Jasmine檔案和specs檔案之外的helper檔案,在vendor
之後引入。
options.styles
type:String|Array
樣式表,在jasmine.css之後引入
options.version
type:String
default:’2.0.0′
使用的Jasmine的版本,目前的版本是2.0.0。
options.outfile
type:String
default:_SpecRunner.html
前面說了,Jasmine會根據模板生成一個html檔案,在phantomjs內執行已進行測試。options.outfile
就是設定該html檔名稱的。執行完之後會被刪除。可以使用:build
標記來手動生成,拿上面的例子來說:grunt
jasmine:build
。
options.keepRunner
type:Boolean
default:false
阻止測試執行完成之後刪除html檔案。
options.junit.path
type:String
default:undefined
JUnit xml的輸出路徑。
options.junit.consolidate
type:Boolean
default:false
是否每一個頂級的Suite都有一個JUnit xml檔案。
options.junit.template
type:String
default:undefined
指定自定義的JUnit模板檔案,代替預設的junitTemplate
。
options.host
type:String
default:''
PhantomJS執行測試的host。eg:host
: 'http://127.0.0.1:8000/'
。如果不指定host,測試會在本地檔案系統中執行。
options.template
type:String|Object
default:undefined
配置一開始提到的自定義模板的路徑。
options.templateOptions
type:Object
default:{}
傳入模板的自定義配置。
options.display
type:String
default:full
full:展示所有的specs樹。short:只顯示成功的或失敗的。none:什麼都不顯示。
options.summary
type:Boolean
default:false
顯示失敗的測試和他們的錯誤資訊。
過濾 specs
過濾檔名:grunt jasmine --filter=foo
過濾目錄:grunt jasmine --filter=/foo
萬用字元:grunt jasmine --filter=/*-bar
逗號分隔多個:grunt jasmine --filter=foo,bar
jqPaginator測試
剛才說了那麼多這次來點真的,我們測試下jqPaginator,先看目錄結構:
再看看jqPaginatorSpec.js的內容:
describe('jqPaginator測試', function () { it('測試', function () { expect(true).toEqual(true); }); });
哈哈,先簡單演示下,然後看看grunt的配置:
jasmine: { src: 'src/js/jqPaginator.js', options: { specs: 'test/specs/**/*Spec.js' } }
最後是期待已久的執行結果:
可以看到,提示jqPaginator依賴的jQuery沒有找到,然後簡單的測試通過了。這次就講這麼多,要想想怎麼測試jqPaginator了,歡迎高手指點。
相關推薦
Javascript測試框架Jasmine(七):jqPaginator測試例項
zz from:http://keenwon.com/1225.html jqPaginator是我自己寫的一個分頁元件,已經用在了公司的兩個專案上。這次學習Jasmine,首先想到的就是怎麼測試下jqPaginator。 看過jqPaginator專案的都知道,它
Javascript測試框架Jasmine(六):非同步程式碼測試
zz from:http://keenwon.com/1223.html 模擬Timeout Jasmine Clock 可以用來測試setTimeout 和setInterval 的回撥操作。它使回撥函式同步執行,當Clock的時間超過timer的時間,回撥函式
Javascript測試框架Jasmine(四):自定義Matcher
zz from:http://keenwon.com/1212.html 一個專案常常需要封裝自定義的Matcher來在多個spec中使用,這次講下怎麼寫相容Jasmine的自定義Matcher。 自定義的Matcher從本質上講是一個對比函式,它的函
Javascript測試框架Jasmine(三):Setup、Teardown、巢狀describe等
zz from: http://keenwon.com/1206.html 上一篇把Matcher說了說,本來該說自定義Matcher的,但是發現有些七七八八的細節沒講,那就今天先把這些基礎說了。 Setup and Teardown S
Python3+Selenium2完整的自動化測試框架實現(一):自動化測試環境搭建
添加 在線安裝 自動化 eight str rain 中間 自動打開 發的 1 環境搭建準備 (1) 下載Python3版本的安裝包,直接官網下載即可:Python官網:https://www.python.org/ (2) 下載Python的基礎工具包
Python 各種測試框架簡介(三):nose
調用 QQ upm href 命令 math 一點 發現 方法 轉載:https://blog.csdn.net/qq_15013233/article/details/52527260 摘要 這裏將從(pythontesting.net)陸續編譯四篇 Python 測試框
軟件測試基本方法(七)之驗收測試
用戶界面 基本 設計 意見 改錯 用戶需求 target 行業 alt 驗收測試是在功能測試和系統測試之後進行的,所以驗收測試的前提條件是系統或軟件產品已通過了內部測試。然後和用戶一起驗收軟件,在真實環境下執行軟件,看是否存在與用戶需求不一致的問題或違背產品規
軟體測試的藝術(一):軟體測試的重要原則
軟體測試是為了發現錯誤而執行程式的過程,這就說明目的是為了發現錯誤,動作是執行程式。 在進行軟體測試的過程中,要遵循很多的原則,以下是幾個重要的測試原則: 1) 測試用例中一個必需部分是對預期輸出或結果進行定義。 對於軟體測試,必須是有明確的定義輸入資料和條件,同時對輸出結果有準確
軟體測試基本方法(七)之驗收測試
驗收測試是在功能測試和系統測試之後進行的,所以驗收測試的前提條件是系統或軟體產品已通過了內部測試。然後和使用者一起驗收軟體,在真實環境下執行軟體,看是否存在與使用者需求不一致的問題或違背產品規格書的要
JavaScript學習日誌(七):表單腳本
prev 調用 don 表單 rip 如果 html image 集合 一,基礎知識 1,取得<form>元素引用的方式,常用的是通過id,其次可以通過document.forms可以取得頁面中所有的表單,在這個集合中,可以通過數值索引或name值來取得特定的表
JavaScript -- 時光流逝(七):js中的全域性函式
JavaScript -- 知識點回顧篇(七):js中的全域性函式 全域性函式可用於所有內建的 JavaScript 物件。 (1) encodeURI():把字串編碼為 URI。 <script type="text/javascript"> docume
【移動開發】關於一對一視訊聊天直播技術(七):直播雲 SDK 效能測試模
本篇是《一對一視訊直播技術詳解》系列的最後一篇直播雲 SDK 效能測試模型,SDK 的效能對最終 App 的影響非常大。SDK 版本迭代快速,每次釋出前都要進行系統的測試,測試要有比較一致的行為,要有效能模型作為理論基礎,對 SDK 的效能做量化評估。本文就是來探討影響 SDK 效能的指標並建立相應的效能模型
CodeMix使用的語言和框架(七):CSS3
使用CodeMix在Eclipse中啟動CSS3 帶有CodeMix的Eclipse中的CSS3 CodeMix是一個外掛,它將VS Code智慧引入Eclipse,並允許您直接從Eclipse訪問Code OSS擴充套件。 使用CodeMix,您可以獲得在Eclipse中使用CSS3時獲得卓越程
《實時碰撞檢測演算法技術》讀書筆記(七):分離軸測試
分離軸測試基於凸體:給定兩凸體集A和B,若兩集合不存在交集,則必定存在一個軸使得兩凸體投影無重疊。若找不到該軸,則兩凸體集相交。對於對稱幾何體如線段、AABB、OBB、球體等,其包含中心C且為投影軸上投影區間的中心位置,只需計算其投影區間的1/2寬度或半徑,求和並於二中心投影
go的web框架gin的使用(七):多路由
http://localhost:3333/v1/loginhttp://localhost:3333/v1/submithttp://localhost:3333/v1/readhttp://localhost:3333/v2/loginhttp://localhost:3333/v2/submithttp
自學SSH框架之---struts(七):ActionForward詳細介紹
之前說了很多關於actionForm的內容,今天就來講解下struts種另一個比較重要的內容actionForward,相信通過前面的學習,大家對actionForward已近不陌生了,這篇文章就是來系統講解一下actionForward的。 actionFo
小白學 Python 爬蟲(27):自動化測試框架 Selenium 從入門到放棄(上)
人生苦短,我用 Python 前文傳送門: 小白學 Python 爬蟲(1):開篇 小白學 Python 爬蟲(2):前置準備(一)基本類庫的安裝 小白學 Python 爬蟲(3):前置準備(二)Linux基礎入門 小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門 小白學 Pyth
小白學 Python 爬蟲(28):自動化測試框架 Selenium 從入門到放棄(下)
人生苦短,我用 Python 前文傳送門: 小白學 Python 爬蟲(1):開篇 小白學 Python 爬蟲(2):前置準備(一)基本類庫的安裝 小白學 Python 爬蟲(3):前置準備(二)Linux基礎入門 小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門 小白學 Pyth
centos7搭建ELK Cluster集群日誌分析平臺(四):簡單測試
-1 簡單測試 logs ima .tar.gz 分析 -c cluster images 續之前安裝好的ELK集群 各主機:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 ki
JAVA學習(七):方法重載與方法重寫、thiskeyword和superkeyword
格式 hello new 初始 per 而且 方法重寫 學習 方式 方法重載與方法重寫、thiskeyword和superkeyword 1、方法重載 重載可以使具有同樣名稱但不同數目和類型參數的類傳遞給方法。 註: 一是重載方法的參數列表必須與被重載的方法不同