這是看了很多js單元測試資料後第一次自己做單元測試,因為資料都在介紹工具怎麼使用,js單元測試的工具是在是太多了,各種風格,各種支援的,新的舊的,so 還是自己動手來體驗一次
簡單 是我給自己的需求很簡單,讀取github api 做個簡單的列表頁面,點選一項跳到詳情頁面,傾向頁面再次讀取github api 填充資料
其實也是嘗試將自己做的東西從各種js框架 ui庫中分離出來,
放羊式 是因為我寫了 很鬆散的一些 function 並沒有模組化和結構化,模組化和結構化的測試放在第二輪
首先 看一下gmu demo 裡的一段** 我是在demo基礎上修改的 對gmu還不是很熟悉
$(function(), 200);讀取 api介面 填充重列表頁,然後settimeout 建立iscroll,就可以完成列表頁面了});
最終效果和圖例裡面差不多,其實這就是最終效果。。。
這麼簡單的事情以前我是這麼處理的
function yiqian(owner,repo)})}但是現在要做單元測試,
1 我要測試 介面返回的內容是不是我想要的
原因:無數次上線表明本地、測試站、正式站存在配置錯誤而誰都不知道,尤其是新老介面等等,不測就是坑
2 我要測試純js處理資料結果是不是我想要的
原因:無數次上線表明處理結果 a 處理結果b 處理結果c可能 要同時上線進行運營驗證那個效果好,不測試就是坑
3我要測試繫結事件知否正常
原因:無數次上線表明:哎呀,昨天還可以點選的今天怎麼沒了,本地、測試都好好的呢。。。。。
我選擇資料最簡單 使用者群最多的qunit 做單元測試工具
沒有看過 qunitjs cookbook 的清看這裡
非同步**怎麼做單元測試 #asynchronous-callbacks
asynctest( "asynchronous test: one second later!", function() , 1000);1});
哎 我發現了,需要吧測試**寫到非同步****的方法裡面去,這樣剛才那個ajajx就得改改了
function yiqian(owner,repo,cbfn)})}給最後加乙個處理資料的**方法
單元測試**很簡單
asynctest( "asynchronous test: ajax data ready1 ", function()這是從官網抄襲過來的**,加了我要測試的東西,注釋都沒改ok( flag, "video has loaded and is ready to play2" );
start();
})});
這種簡單的測試ajax資料的有意義嗎?好像意義不大,但
1 我測試了這個介面能不能訪問,存不存在,是不是配置正確
2 測試返回資料的版本 是不是我要的,還可以細緻的測試資料結構是不是你要的
測試完了資料能不能拿到和資料版本對不對,該測試根據資料生成html片段,這個函式很顯然,可以放在剛才的**函式裡面
引數 1 個 就是ajax返回的資料
function makedatatest (data)可以看到 這是乙個同步的js處理資料的函式,而且是沒有**方法,也是單元測試裡面較為簡單的,下面是標準的測試**}
test("hello", function() )跟著學一遍**如下
asynctest("git list dom test", function()注意jq做單元測試,所有和dom相關的修改都要在qunit-fixture 節點下進行,所以就有個準備測試資料的過程,這裡先簡單這麼弄弄ok(flag, "git list dom2 ");
})
這裡通過判斷 dom修改後li的資料
1判斷 是否執行了拼接
2 判斷是否插入的資料到指定位置
3 具體的dom結構的判斷 和dom結構版本的判斷 這裡沒做。。。。。先做簡單的
下次說說時間繫結和測試
學習筆記 js單元測試
斷言模組 單元測試 模組測試 是開發者編寫的一小段 用於檢驗被測 的乙個很小的 很明確的功能是否正確。通常而言,乙個單元測試是用於判斷某個特定條件 或者場景 下某個特定函式的行為。單元測試的目標一般是公共函式庫,由程式設計師自己完成測試。mocha 是乙個測試框架,自己已經提供了一套斷言,但是,我們...
JS單元測試及原理
單元測試是指對軟體中的最小可測試單元進行檢查和驗證,通過單元測試可以檢測出潛在的bug,還可以快速反饋功能輸出,驗證 是否達到預期,也可以保證 重構的安全性。有這樣乙個方法 let add a,b a b 這是乙個很簡單的計算兩個數的和的方法,假如我們想看看他的邏輯對不對,我們可以呼叫一下,然後跟我...
簡單單元測試思想
乙個專案又很多模組組成,當我們每次完成乙個模組的時候,就應該測試該功能是否 能夠執行正確。然後再寫下乙個模組,不要等所有模組寫完了再整體測試,這樣到時候很 難找到問題 當然高手除外 所以作為乙個工程師,寫測試用例是乙個基本的技能。那如何寫測試用例呢?其實就是使用自己的模組,看執行的結果是否跟期望的結...