单元测试:前端代码测试 2
2016-01-12 16:13
253 查看
三 测试 工具
1JSTD(Javascript Test Driver)
是一个最早的C/S测试工具,来自Google,基于JAVA编写,跨平台,使用命令行控制,还有很好的编辑器支持,最常用于eclipse。不过它无法显示测试对象的设备及浏览器版本,只有浏览器名是不够的。另外JSTD已经慢慢不再活跃,它的早正如它的老。
2.Karma
它使用Nodejs构建,因此跨平台,还支持PhantomJS浏览器,还支持多种框架,包括以上介绍的Jasmine、Qunit和Mocha。一次可以在多个浏览器及设备中进行测试,并控制浏览器行为和测试报告。虽然它不支持Nodejs的测试,不过没什么影响,因为Nodejs并不依赖于浏览器。
3.TestSwarm 出自jQuery之父John Resig之手,看来jQuery的强大果然不是偶然的,在测试方面非常到位,各种工具齐全。它最特别的地方在于所有测试环境由服务器提供,包括各种版本的主流浏览器以及iOS5的iphone设备,不过目前加入已经受限。
4.Buster 其作者之一就是Christian Johansen。和Karma很像,也使用Nodejs编写跨平台并且支持PhantomJS,一次测试所有客户端。更重要的是支持Nodejs的测试,同样支持各种主流测试框架。不过目前还在Beta测试中,很多bug而且不能很好的兼容Windows系统。它的目标还包括整合Browser Stack。
四、karma+jamine测试
单元测试配置 karma init; 设置: (1)选择框架 jasmine/mocha/qunit/ requirejs //(2):设置自定义配置文件 (3):第三方代码(端对端测试需要引入 ng-scenario.js) (4): 测试特有代码 (5):browser[]选择相应的测试浏览器 (6):预处理器 coffeejs/coverage/eember (7):proxies{“”} 在端对端测试中 起作用 (8)配置coverage
karma start 就能开启测试
语法: 单元测试
1JSTD(Javascript Test Driver)
是一个最早的C/S测试工具,来自Google,基于JAVA编写,跨平台,使用命令行控制,还有很好的编辑器支持,最常用于eclipse。不过它无法显示测试对象的设备及浏览器版本,只有浏览器名是不够的。另外JSTD已经慢慢不再活跃,它的早正如它的老。
2.Karma
它使用Nodejs构建,因此跨平台,还支持PhantomJS浏览器,还支持多种框架,包括以上介绍的Jasmine、Qunit和Mocha。一次可以在多个浏览器及设备中进行测试,并控制浏览器行为和测试报告。虽然它不支持Nodejs的测试,不过没什么影响,因为Nodejs并不依赖于浏览器。
3.TestSwarm 出自jQuery之父John Resig之手,看来jQuery的强大果然不是偶然的,在测试方面非常到位,各种工具齐全。它最特别的地方在于所有测试环境由服务器提供,包括各种版本的主流浏览器以及iOS5的iphone设备,不过目前加入已经受限。
4.Buster 其作者之一就是Christian Johansen。和Karma很像,也使用Nodejs编写跨平台并且支持PhantomJS,一次测试所有客户端。更重要的是支持Nodejs的测试,同样支持各种主流测试框架。不过目前还在Beta测试中,很多bug而且不能很好的兼容Windows系统。它的目标还包括整合Browser Stack。
四、karma+jamine测试
单元测试配置 karma init; 设置: (1)选择框架 jasmine/mocha/qunit/ requirejs //(2):设置自定义配置文件 (3):第三方代码(端对端测试需要引入 ng-scenario.js) (4): 测试特有代码 (5):browser[]选择相应的测试浏览器 (6):预处理器 coffeejs/coverage/eember (7):proxies{“”} 在端对端测试中 起作用 (8)配置coverage
reporters: ['progress', 'coverage'], coverageReporter: { type: 'html', dir: 'mytest/coverage/' }
karma start 就能开启测试
语法: 单元测试
describe('描述',function(){ beforeEach(function(){ }) it('描述',function(){ expect(true).toBe(true);//基本表达式 //函数 toBe(),not.toBe()//是否相同 === toEqual(),//是否相同 == 基本数据类型中 toBe()和equal 没有区别 toMatch(),.not.toMatch();//匹配正则 toBeDefined();//是否被定义 toHaveBeenCalled();//是否被调用 spyOn()//监控某个函数 }), afterEach(function(){ }) })
相关文章推荐
- 单元测试:前端代码测试 1
- jQuery 标签切换----之选项卡的实现
- jackson的使用方法(二)
- 关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
- JavaScript常用数组算法总结
- JavaScript-跨域实现方法总结
- JavaScript学习总结(6)——js弹出框、对话框、提示框、弹窗总结
- JavaScript学习总结(6)——js弹出框、对话框、提示框、弹窗总结
- JavaScript学习总结(6)——js弹出框、对话框、提示框、弹窗总结
- 与其他Javascript类库冲突解决方案
- jquery对象里面的context参数
- Nodejs 调试
- web前端的坑
- jQuery认识
- 1月12日,HTML学习笔记2
- jquery实例权威指南
- 妙味课堂20160112js实例仿新浪菜单
- nodejs 服务器创建及文件读写操作
- Unable to negotiate with XX.XX.XX.XX: no matching host key type found. Their offer: ssh-dss
- 《Effective java》读书记录-第16条-复合优先于继承