惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - Zhuang miao

使用bootstrap和metroui设计的微网站或手机app界面 利用Mahout实现在Hadoop上运行K-Means算法 大连二手汽车培训网上线 淘宝开放平台API调用nodejs实现 Nodejs+express+angularjs+mongodb搭建前端项目框架NJBlog 淘宝UED前端智勇大冲关第二季 CC.net&Nant配置文件 介绍一个款可以在javascript对象上实现观察者模式的类库-Watch.js 开发nodejs模块并发布到npm的简单示例 使用Jasmine测试你的Javascript(三)之 Matchers 使用Jasmine测试你的Javascript(二)之 Suites和specs 使用Jasmine测试你的Javascript(一)之 Jasmine简介 用SignalR创建实时永久长连接异步网络应用程序 Javascript实现图片的预加载的完整实现 常见前端面试题【转】 - Zhuang miao 更改页面背景的jquery插件 javascript面向对象中的对象创建、继承、封装等实现方式 12款华丽的Admin管理后台模板 AOP
用jsTestDriver运行jasmine cases
Zhuang miao · 2012-11-14 · via 博客园 - Zhuang miao

2012-11-14 23:41  Zhuang miao  阅读(1839)  评论()    收藏  举报

1.在你的根目录中插入JsTestDriver的配置文件jsTestDriver.conf

内容可能如下:(根据本机目录的实际情况配置)

server: http://localhost:9876

load:

  - assets/3.0/tools/jasmine/jasmine.js

  - assets/3.0/tools/jasmine/jasmineAdapter.js

  - assets/3.0/tools/jasmine/jasmine-html.js

test:

- assets/3.0/apply/1.0/test/*.js

  • server:服务器路径
  • load:依赖脚本,会在test指定的脚本执行前执行
  • test:测试脚本

JsTestDriver简单原理说明:将load和test的脚本移到启动的server服务器上,然后在各个浏览器中运行服务器的脚本,最后将单测得结果集返回给Webstorm。

使用JsTestDriver的注意点:

  • 测试脚本所依赖的所有文件,必须指定;
  • JsTestDriver的测试运行页面是自己创建的,没办法自己指定(这点蛋疼,会造成很多困难);
  • 在ajax的测试中要特别注意,你需要mock方法,不然会出现无法获取数据,导致单测无法进行的问题;
  • JsTestDriver如果使用其他单测类库比如jasmine,需要适配器

2.在工程内引入JsTestDriver

在代码界面右击,寻找到下面的菜单项:

打开创建界面后,指定下配置文件路径:

成功后,右上角会出现JsTestDriver的信息:

3.使用jasmine

jasmine应该是最被广泛使用的js单测类库,所以明河以jasmine的单测运行为例,而不是JsTestDriver(这里指的是JsTestDriver内置的单测类库)。

配置load,引入jasmine和jasmineAdapter:

server: http://localhost:9876

load:

  - assets/3.0/tools/jasmine/jasmine.js

  - assets/3.0/tools/jasmine/jasmineAdapter.js

  - assets/3.0/tools/jasmine/jasmine-html.js

这三个文件可以在明河的代码库中找到。

随便写个测试代码:

server: http://localhost:9876

test:

- assets/3.0/apply/1.0/test/*.js

describe('this is a demo',function(){

     it('demo it',function(){

        expect(false).toBeTruthy();

     })

});

4.运行JsTestDriver

使用快捷键“shift+F10”

有可能会因为缺少服务器路径配置,导致运行失败,没关系,在右下角打开JsTestDriver的界面,填写上url(http://localhost:9876)

点亮浏览器(点击灰色的浏览器图标):

再按“shift+F10”运行之,如果出现类似以下界面,说明运行成功:

Webstorm的确强大,给我们提供了众多便利,就单元测试而言JsTestDriver只是第一步,关键还是开发者将单元测试写起来!以后会给大家分享单测代码层面的最佳实践。

原文:http://www.36ria.com/5855