• 单元测试:前端代码测试 2


    三 测试 工具

    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(){
    
         })
    })
  • 相关阅读:
    DIV+CSS规范命名大全集合
    display:none与visibility:hidden的区别
    为什么无法发起qq临时会话,必须添加好友?如何设置才能临时会话?
    gif动态图片去白边,杂边
    【原创】[PS技巧]如何制作翘角纸条的阴影效果
    ......那么Win8.1怎么去掉文件夹?
    Win8增加了快速启动功能......
    不间断图片滚动JS
    FlatList
    react native 布局
  • 原文地址:https://www.cnblogs.com/poptest/p/5124696.html
Copyright © 2020-2023  润新知