QUnit使用笔记-2同步与异步处理方式
同步:
有时候如果我们想判断方法执行的次数,可以通过间接设置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.ok(true,"calc() calls operation function"); //use ok to check;
return x*x;
});
assert.equal(result,4,"2 square equal 4");
});
同理,除了方法执行次数外,还可以判断事件发生次数;
QUnit.test("a test", function(assert) {
expect(1); //when click the body will fail;
var $body = $("body");
$body.on("click",function() {
assert.ok(true,"body was clicked!");
});
$body.trigger("click");
});
异步:
在异步上,需要使用asyncTest替代test;同时使用start方法标记,当异步方法返回之后继续执行的地方;
同理,使用expect判断异步方法或事件是否执行;
QUnit.asyncTest("asyncChronous test;one second later!", function(assert) {
expect(1);
setTimeout(function() {
assert.ok(true,"Passed and ready to resume!");
QUnit.start(); //set start to tell QUnit to continue when callback end;
},1000);
})
注意:如果在测试同步的时候,需要测试通过其它方法促发事件的情况下;此时如果与异步一起测试,那么在等待异步方法返回的时间内,会给同步的方法测试带来副作用而无法判断出同步是否执行。
QUnit使用笔记-2同步与异步处理方式的更多相关文章
- js中同步与异步请求方式
异步请求方式: $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST ...
- 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第四节:同步与异步请求方式
前两节,我们对WebRequest和WebResponse这两个类做了介绍,但两者还相对独立.本节,我们来说说如何将两者结合起来,方式有哪些,有什么不同. 1.4.1 说结合,无非就是我们如何发送一个 ...
- node.js在windows下的学习笔记(4)---同步,异步,回调的概念
Node.js是使用事件驱动的,非阻塞的I/O模型,用于构建快速的,可扩展的网络应用程序. Node.js想解决的问题是:处理输入,输入,高并发 1.阻塞与非阻塞 阻塞也叫同步,是指每一次执行一个操作 ...
- Verilog笔记.5.同步、异步
在数字电路中经常有同步synchronism.异步asynchronism的概念.异步指输入信号和时钟无关:同步指输入信号和时钟信号有关,实际上就是输入信号和时钟信号进行了与运算或者与非运算.实际开发 ...
- python学习笔记-(十四)I/O多路复用 阻塞、非阻塞、同步、异步
1. 概念说明 1.1 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可 ...
- 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步
同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(100) setTi ...
- Java多线程学习笔记(三)同步和异步
首先是一段代码: public class HasSelfPrivateNum { public void addI(String username){ try { int num=0; if(use ...
- Java基础知识强化之多线程笔记07:同步、异步、阻塞式、非阻塞式 的联系与区别
1. 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回.但是一旦调用返回,就必须先得到返回值了. 换句话话说,调用者主动等待这个"调用"的结果. 对于 ...
- .NET Core学习笔记(4)——谨慎混合同步和异步代码
原则上我们应该避免编写混合同步和异步的代码,这其中最大的问题就是很容易出现死锁.让我们来看下面的例子: private void ButtonDelayBlock_Click(object sende ...
随机推荐
- wap版百度hi给你飞速的赶脚 赶紧登陆手机百度hi吧
百度hi自然是百度自己的产品,如果你是做国内市场,这个产品应该要用一下.经常逛百度空间,有时实在受不了它的加载速度,(当然,这个跟你的网速.电脑配置.你所使用的百度空间模板等因素有关),我们看看百度空 ...
- dedecms后台批量替换文章中的关键词
DEDECMS怎么样能快捷或者批量修改网站所有文章的超链接和锚文本,超链和所有关键词锚文本的链接需要修改? dedecms后台批量替换文章中的关键词
- C语言内存对齐详解(3)
接上一篇:C语言内存对齐详解(2) 在minix的stdarg.h文件中,定义了如下一个宏: /* Amount of space required in an argument list for a ...
- 查看远程git log
$ git reset --hard bit/add $ git log --oneline --graph
- POJ 1797 Heavy Transportation (Dijkstra变形)
F - Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...
- MySql 插入数据中文乱码
在数据库连接URL后加上characterEncoding=UTF-8 driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ssm ...
- SublimeText3 生成html标签快捷键
mmet Documentation Syntax Child: > nav>ul>li <nav> <ul> <li></li> & ...
- Android 中 设置TextView垂直滚动
布局文件 android:scrollbars="vertical" android:singleLine="false" 代码文件 ctl_tv_conten ...
- Windows命令行重命名文件
RENAME D:\Cache\xyz.html xyz%date:~0,4%%date:~5,2%%date:~8,2%.tar.gz
- object-c 继承多态 动态数据类型
在c#中我们知道有继承的.同样在object-c中也有继承. 例如我们写一个人类(父),一个学生类.我们可以这么写: demo: @interface Person:NSobject{ NSStrin ...