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测试代码,测试不通过会给出提示

无界面测试

主要是为了在服务器端js(node.js运行测试)而不是直接显示在浏览器端

控制台

控制台函数

  • $0 是当前选中的元素
$0.style.color = "red";
  • $() ,元素选择器

  • [(), 属性选择器 ]

  • 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
原文地址:https://www.cnblogs.com/jinkspeng/p/4334658.html