js簡單放羊式單元測試 上

2022-01-15 11:10:21 字數 2139 閱讀 6962

這是看了很多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() 

ok(flag, "git list dom2 ");

})

注意jq做單元測試,所有和dom相關的修改都要在qunit-fixture 節點下進行,所以就有個準備測試資料的過程,這裡先簡單這麼弄弄

這裡通過判斷 dom修改後li的資料

1判斷 是否執行了拼接

2 判斷是否插入的資料到指定位置

3 具體的dom結構的判斷 和dom結構版本的判斷 這裡沒做。。。。。先做簡單的

下次說說時間繫結和測試

學習筆記 js單元測試

斷言模組 單元測試 模組測試 是開發者編寫的一小段 用於檢驗被測 的乙個很小的 很明確的功能是否正確。通常而言,乙個單元測試是用於判斷某個特定條件 或者場景 下某個特定函式的行為。單元測試的目標一般是公共函式庫,由程式設計師自己完成測試。mocha 是乙個測試框架,自己已經提供了一套斷言,但是,我們...

JS單元測試及原理

單元測試是指對軟體中的最小可測試單元進行檢查和驗證,通過單元測試可以檢測出潛在的bug,還可以快速反饋功能輸出,驗證 是否達到預期,也可以保證 重構的安全性。有這樣乙個方法 let add a,b a b 這是乙個很簡單的計算兩個數的和的方法,假如我們想看看他的邏輯對不對,我們可以呼叫一下,然後跟我...

簡單單元測試思想

乙個專案又很多模組組成,當我們每次完成乙個模組的時候,就應該測試該功能是否 能夠執行正確。然後再寫下乙個模組,不要等所有模組寫完了再整體測試,這樣到時候很 難找到問題 當然高手除外 所以作為乙個工程師,寫測試用例是乙個基本的技能。那如何寫測試用例呢?其實就是使用自己的模組,看執行的結果是否跟期望的結...