QUnit 实践一
项目准备启用Qunit, 先来尝试一下。 不说废话,上代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>QUint</title>
<link rel="stylesheet" href="qunit.css">
<script src="qunit.js"></script>
<script type="text/javascript"> myfunc = function(a){
return a^3;
}
function Foo( x, y, z ) {
this.x = x;
this.y = y;
this.z = z;
} test("Simple", function(assert) {
assert.ok(function(){return "world1"}, "world");
assert.notOk(1 === "1", "=== failed!");
ok(1 == "1", "== pass!");
equal('1',1,"1==1 equal");
assert.ok(myfunc(1) == 2,"calc pass"+(1^3));
}); var a = new Foo(1,2,3);
var b = a;
test("object",function(){
propEqual(a,b,"a is same as b");
strictEqual(a,b,"a is strict same as b");
a.x =8;
propEqual(a,b,"a is same as b");
a = {x:8,y:2,z:3};
propEqual(a,b,"a is same as b");
notStrictEqual(a,b,"a is not strict same as b");
a = new Foo(1,2,3);
notPropEqual(a,b,"a is not same as b");
b = new Foo(1,2,3);
notEqual(a,b,"a is not same as b");
notStrictEqual(a,b,"a is not strict same as b for different object");
deepEqual(a,b,"a b DeepEqual");
}); test( "async", function( assert ) {
assert.expect( 2 ); var done1 = assert.async();
var done2 = assert.async();
setTimeout(function() {
assert.ok( true, "test resumed from async operation 1" );
done1();
}, 500 );
setTimeout(function() {
assert.ok( true, "test resumed from async operation 2" );
done2();
}, 150);
}); QUnit.test( "expect test", function( assert ) {
assert.expect( 1 ); function calc( x, operation ) {
return operation( x );
} var result = calc( 2, function( x ) {
assert.ok( true, "calc() calls operation function" );
return x * x;
}); assert.equal( result, 4, "2 squared equals 4" );
});
</script>
</head> <body>
<h1 id="qunit-header">QUnit Report</h1>
<h2 id="qunit-banner"></h2>
<ol id="qunit-tests"></ol>
</body>
</html>
看报告:
看起来不错, 有equal, deepEqual, strictEqual要区别下。
在看看dom的操作:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>demo1</title>
<link rel="stylesheet" href="../../qunit.css">
<script src="../../qunit.js"></script>
<script type="text/javascript">
function submit (argument) {
// body...
var Str = document.getElementById("userName").value + document.getElementById("password").value;
document.getElementById("result").innerText = Str;
}
function reset (argument) {
// body...
document.getElementById("userName").value = document.getElementById("password").value = "";
document.getElementById("result").innerText = "";
} test("Simple", function(assert) {
document.getElementById("userName").value = "username";
document.getElementById("password").value = "password";
submit();
assert.equal(document.getElementById("result").innerText,"username" + "password","test input");
reset();
assert.equal(document.getElementById("password").value,document.getElementById("userName").value,"reset");
});
</script>
</head>
<body>
<!-- <form > -->
<div>
<div>
<label for="userName">UserName:</label>
<input type="text" id="userName" name="userName">
</div>
<div>
<label for="password">password:</label>
<input type="text" id="password" name="password">
</div>
<div>
<input type="button" value="submit" onclick="submit()">
</div>
</div>
<!-- </form> -->
<div id="result"> </div> <div id="test">
<h1 id="qunit-header">QUnit Report</h1>
<h2 id="qunit-banner"></h2>
<ol id="qunit-tests"></ol>
</div>
</body>
</html>
图:
运行还可以啊。
问题来了: 怎么把测试报告也页面分离,这样太丑了? 继续研究。。。
QUnit 实践一的更多相关文章
- 使用Node.js完成的第一个项目的实践总结
http://blog.csdn.net/yanghua_kobe/article/details/17199417 项目简介 这是一个资产管理项目,主要的目的就是实现对资产的无纸化管理.通过为每个资 ...
- 测试工具使用-Qunit单元测试使用过程
031302620 应课程要求写一篇单元测试工具的博客,但是暂时没用到java,所以不想使用junit(对各种类都不熟悉的也不好谈什么测试),原计划是要用phpunit,但是安装经历了三个小时,查阅各 ...
- [转]使用Node.js完成的第一个项目的实践总结
本文转自:http://blog.csdn.net/yanghua_kobe/article/details/17199417 https://github.com/yanghua/FixedAsse ...
- 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践
本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...
- webp图片实践之路
最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...
- Hangfire项目实践分享
Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- Logstash实践: 分布式系统的日志监控
文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...
- 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 ...
随机推荐
- 团体程序设计天梯赛 L3-004. 肿瘤诊断
数组的大小不能开太大,否则会出现段错误 用bfs而不用dfs,dfs存储太多中间过程,会超内存 #include <stdio.h> #include <stdlib.h> # ...
- pg数据库杀掉连接
遇到异常连接时,需要将对应连接杀掉,可能是连接占用了过多CPU或是IO,影响了业务,或是时间过长的空闲事务. pg对于杀掉连接提供了专门的命令,一般情况下使用pg_cancel_backend就可以, ...
- SSH框架搭建问题总结
1.eclipse中tomcat配置是否正确?能否在网页中访问的到? 如何在eclipse中配置tomcat就不说了,我们看下问题,在网页上访问tomcat的地址,为什么出现404错误呢? 解决办法: ...
- Java poi读取,写入Excel2003
Java poi读取,写入Excel2003 相关阅读:poi读写Excel2007:http://www.cnblogs.com/gavinYang/p/3576741.htmljxl读写excel ...
- android listview使用自定义的adapter没有了OnItemClickListener事件解决办法
在使用listview的时用使用自定义的adapter的时候,如果你的item布局中包含有Button,Checkable继承来的所有控件,那么你将无法获取listview的onItemClickLi ...
- 让你快速学会Shell脚本
Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合.Shell可以直接使用在win/Unix/Linux上面, ...
- Hi35xx 通用GPIO 使用篇(板子3G电源控制脚说明)
在一个嵌入式系统中使用最多的莫过于 通用输入输出 GPIO口.看到论坛中经常有朋友问海思为什么没有提供GPIO驱动.其实不然. 在海思SDK xxx/osdrv/tools/board_tools/ ...
- linux缓存手动清理
一般情况下不建议这么做, 如果你确定向的话还是可以的首先运行sync把未存盘的cache都写入磁盘,稍等片刻, 或者是直接运行sync 两遍 然后echo 1 试试应该大部分缓存可以释放 释放ca ...
- 模块型css样式
<div id="dowork"> <div id="dowork_on">۞作业进行中</div> <div id= ...
- 图论:LCA-欧拉序
#include<cmath> #include<vector> #include<cstdio> #include<cstring> #include ...