js的單元測試


  最近在優化以前的項目,重寫一些地方,由於這些數據都是從客戶端行情獲取,自己也沒有做測試的習慣,運行的時候,數據一直出不來,也不報錯,這就俺們神奇的客戶端。沒辦法,一步一步還原調試,最后找出來了,一個函數的參數,我調用的時候,參數的首字母變成大寫了。可能最近霧大,哥每天吸收太多,變痴呆了!還有一個地方value 寫成val。於是決定用單元測試,湯姆大叔曾經提到過qunit,自己搜一下,原來是jquery團隊開發的,所有jquery的代碼均由其測試。

  我自己看了一下,自己深深的愛上了他,只需引用兩個文件就行了

<link rel="stylesheet" href="/resources/qunit.css">
<script src="/resources/qunit.js"></script>

 非常簡單!
 

隨便看一個簡單的例子

 

test( "hello test", function() {  ok( 1 == "1", "Passed!" );}); 

 ok( state, message )  state 會轉換成true or false, 如果是true 則通過,反則失敗

 還有一個是比較常用 equal

 

test( "a test", function() {  equal( 1, "1", "String '1' and number 1 have the same value" );}); 

 equal( actual, expected, message )  actual 是object類型,expected 也是object 適合數組,對象進行比較!

ok 和equal 屬於比較常用的斷言

下面是我自己做的例子

<!DOCTYPE html>
<html>
<head>  
<meta charset="utf-8">  
<title>QUnit Example</title>  
<link rel="stylesheet" href="qunit/qunit.css">
<style>
.myclass { color : red};
</style>
</head>
<body>  
<div id="qunit"></div>  
<div id="qunit-fixture"></div>  
<script src="qunit/qunit.js"></script>
<script src="qunit/jquery-1.6.3.js"></script>
<div id="mytest"></div>
</body>
</html>
<script>
function changeEl(el, text) {
    el.html(text);
    el.addClass('myclass');
}
module('my first test');
test('測試插入的元素操作', function(){
    var el = $('#mytest');
    changeEl(el, '')
    equal(el.text(), '', '測試通過');
    equal(el.hasClass('myclass'), true, '測試通過');
})


</script>

下面是測試界面

 

 

 ok,洗洗睡了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM