mvc-9測試和調試

單元測試

  • 單元測試是比集成測試更底層的測試,用於確保特定的後臺代碼片斷能正常運行;
  • 前端單元測試更可能是爲了發現瀏覽器兼容性的bug;

斷言

斷言是測試的核心,是一些表述代碼指望執行結果的語句前端

//正確性檢查assert()函數
var assert = function(value, msg) {
  if(!value) {
    throw(msg || (value + "dose not equal true"));
  }
};
//檢查比較對象的assertEqual()函數
var assertEqual = function(val1, val2, msg) {
  if(val1 !== val2) {
    throw(msg || (val1 + " does not equal " + val2));
  }
}

常見測試類庫

驅動

驅動其實是一個守護進程,它整合了不一樣的瀏覽器,能夠自動運行js測試代碼,測試不經過會給出提示node

無界面測試

主要是爲了在服務器端js(node.js運行測試)而不是直接顯示在瀏覽器端git

控制檯

控制檯函數

  • $0 是當前選中的元素
$0.style.color = "red";
  • $() ,元素選擇器github

  • $$(), 屬性選擇器chrome

  • $x() 返回了匹配某個XPath表達式的一組元素組成的數組;數組

  • clear(), 清空控制檯瀏覽器

  • dir(object), 輸出對象中的全部屬性服務器

  • keys(object), 返回對象中全部屬性組成的數組函數

  • values(object), 返回對象屬性值組成的數組單元測試

Profile和函數運行時間

conosle.profile();
//code
console.profileEnd();

console.time("timename");
//code
console.timeEnd("timename");
  • 在chrome的profile項中能夠看到生成的統計數據
  • 在控制檯中能夠看到輸出的運行時間 timename: 11.624ms
相關文章
相關標籤/搜索