簡體   English   中英

如何編寫一個沒有框架的單元測試?

[英]How to write a unit test w/ out a framework?

我想使用純JavaScript對這個基本功能進行單元測試:

NS.isType = function (type, obj) {
    if (obj.constructor && obj.constructor.name) {
        return obj.constructor.name === type;
    }
    return toString.call(obj) === '[object ' + type + ']';
};

我想開始對代碼進行單元測試,並想在沒有框架的JavaScript中進行測試。 更重要的是,我想了解單元測試的概念,其中包括一個小例子,無需閱讀整本書。 后來,我計划閱讀這本O'Reilly的新書(2013) ,該書重點介紹使用框架進行單元測試。

如何僅使用不帶JavaScript的庫對上述方法進行單元測試?

簡而言之,單元測試是關於紅色綠色紅色綠色

首先,編寫一個測試,以測試函數的功能。 運行測試時,測試將失敗,因為尚未實現(紅色)

現在,您可以在函數中實現它並再次運行測試,現在測試將通過(GREEN)。

現在,您再次更改測試內容以確保它再次失敗(只是檢查您的測試是否一直未通過)(紅色)

改回來,它會通過。

您將大量使用assert,這是一個小示例:

function aPlusB(A,B){
  return A+B;
}
//part of your test suite:
var tests=[];
function assertEqual(a,b,message){
  tests.push({
    pass:a===b,
    message:message
  });
}
assertEqual(aPlusB(1,2),3,"Make sure 1 plus 2 equals 3");
assertThrows(aPlusB("hello",7),"Passing a string as one of the parameters should throw an error");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM