QUnit使用笔记-4保持原子性与分组】的更多相关文章

原子性: 当将许多测试用例放到一起测试的时候,可能会因为相互的副作用而出错:这个时候应该尽可能将他们分别放到test()中测试: 对应测试到Dom,应该尽可能地使用#qunit-fixture,因为它会在一次测试完之后自动清除绑定: QUnit.test( "Appends a div", function( assert ) { var $fixture = $( "#qunit-fixture" ); $fixture.append( "<div…
在测试中,如果用到了大量相同的方法返回判断结果,可以将他们简化; 使用push(): push( result/*boolean,result of assert*/, actual, /*object,expression being test*/ expected, /*comparison value*/ message /*description of pass*/ ) 例子: QUnit.assert.mod2 = function(vlaue,expected,message) {…
模拟操作: elem.trigger(event); elem.triggerHandler(event); triggerHandler的不同: 不会引起事件的默认行为 .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素. 由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡. 该方法的返回的是事件处理函数的返回值,而不是 jQuery 对象. $.Event(event); 如果事件需要依赖特定的…
同步: 有时候如果我们想判断方法执行的次数,可以通过间接设置expect(n);//可以将expect的参数放到test的第二参数来简化: QUnit.test("expect test", function(assert) { expect(2); //assert run two times; function calc(x, operation) { return operation(x); } var result = calc(2, function(x) { assert.…
QUnit是一个前端测试工具. 判断效果: html基本结构: <h1 id="qunit-header">QUnit</h1> <h2 id="qunit-banner"></h2> <div id="qunit-testrunner-toolbar"></div> <h2 id="qunit-userAgent"></h2> &…
除了之前介绍的将数组数据在一个页面中输出的方法,还可以将数组数据分组,按照点击,在不同页面中分别显示,方法为: Model: 例如:Table Router: 设置一个父对象和子对象设置: this.resource("tables",function() { this.resource("table",{path:"/:table_id"}); //依照id输出 }); Route: App.TablesRoute = Em.Route.ext…
查找记录 Select select username,id from users; Group by 进行分组 select sex from users group by sex; 分组条件 select age,sex from users  group by sex having age>21; 查询结果进行排序 Desc 降序 select * from users order by age,id desc; 限制查询结果返回的数量 select * from users limit…
一.单元测试前言 什么是单元测试? 如果是新接触单元测试的童鞋,简要的解释:就是一个JS函数/功能/模块的测试. 单元测试的工具:这里介绍QUnit Qunit原本是jqury家的,不过现在已经独立了,即是说使用QUnit不需要依赖jquery 官方api地址:http://api.qunitjs.com/ 二.QUnit 使用.学习教程 一.下载与安装 首先要下载qunit的相关js和css,目前版本v1.23.1,下载地址: 打开官网http://qunitjs.com/,右侧即downlo…
Grafana有账户分权和管理功能,不过和一般的账户分权管理操作不一样.Grafana通过admin账户建立organization,在不通的org内配置数据源和用户,用户隶属于不通的org,只能看到该org内的数据展示. 在org内在进行用户操作权限的配置即可. Grafana中通过设置不同的组织,以及将用户分配到不同组织,来做到多租户,类似门户的概念. Grafana默认是不允许非管理员用户创建新的组织的,这个可以通过修改配置文件以允许非管理员用户创建组织: 下面演示下怎么新建组织,以及将组…
Objective-C 中类属性(修饰) (2013-07-13 14:38:35) 转载▼ 标签: it 分类: IOS笔记 nonatomic: 非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能.若不加此属性,则默认是两个访问方法都为原子型事务访问.(atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误.而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic…