注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

QUnit使用  

2013-08-03 17:33:15|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
QUnit是一个强大的、易于使用的Javascript单元测试库。jQuery、jQuery UI和jQuery Mobile项目都使用了它。它也完全可以用来测试通用的Javascript代码

QUnit与TestSwarm有些相同的历史:

QUnit是jQuery的一部分,也由John Resig开发。在2008年,它有了自己的个人主页、名字和API文档,允许其他人使用它用作单元测试。当时它还是基于jQuery的。2009年时一次重构解决了这个问题,如今QUnit完全独立于jQuery。QUnit的断言方法遵循了CommonJS单元测试标准,此标准也一定程度受到了 QUnit的影响。

调研过JsUnit和Rhinounit后,发现这两个项目基本上已无人维护。
JsUnit 对于现在的很多浏览器都不支持。
Rhinounit 支持的就更少,只支持Rhino的JS引擎

经过比较,Qunit无论在浏览器的支持的范围上(JQuery1.x支持的,它都支持),还是使用的容易程度,都强于前两者。
下面来一个简单使用吧!

项目主页 http://qunitjs.com/
How to write Test ?
1.include qunit.js, qunit.css and your js(依然是万年不变的template.js) (use CDN) 
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.12.0.css">
<script src="http://code.jquery.com/qunit/qunit-1.12.0.js"></script>
<script src="js/template.js"></script>

2.write test (详细,请参阅http://qunitjs.com/intro/)
test( "a basic test example", function() {
temp.set("name", "QUnit")
equal( temp.evaluate(), "Hello QUnit", "We expect value to be Hello Qunit" );
});

3.用浏览器运行Test Page
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>QUnit Test</title>
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.12.0.css">
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<script src="http://code.jquery.com/qunit/qunit-1.12.0.js"></script>
<script src="js/template.js"></script>
<script>
var temp = new Template("Hello ${name}");

test( "a basic test example", function() {
temp.set("name", "QUnit")
equal( temp.evaluate(), "Hello QUnit", "We expect value to be Hello Qunit" );
});

test( "deepEqual test", function() {
temp.set("name", "Qunit");
deepEqual( temp.map, { name: "Qunit" }, "Two objects can be the same in value" );
});
</script>
</body>
</html>

QUnit使用 - 星期五 - 星期五
这时候或许你会想,如何使用CLI,实现自动化测试,这个不用担心,已经有很多方法啦!
1.Run Qunit with Rhino https://github.com/benjaminplee/QUnit-CLI
2.grunt 自动化Qunit
但是我都不喜欢,我使用我自己的方法,结合watir,自动化测试

watir 自动化 Qunit 测试脚本,有待改进
# encoding: GBK

#以上 encoding: GBK 是设置支持中文

require 'rubygems'

require 'watir-webdriver'


#open broswer
def openFireFoxBroswer(path)
firefox =  Watir::Browser.new :firefox
firefox.goto(path)
sleep(1)
return firefox
end
test_file = "file:///C:/Users/IBM_ADMIN/Desktop/QUnit/templateTest.html"

broswer = openFireFoxBroswer(test_file)
broswer.window.resize_to(1600, 900)

puts test_file
result = broswer.p(:id => "qunit-testresult").text
puts result

broswer.close()



测试结果:
QUnit使用 - 星期五 - 星期五
 
是不是有些心动,赶紧试试吧!
  评论这张
 
阅读(759)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017