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
相关文章
相关标签/搜索