zoukankan      html  css  js  c++  java
  • 前端自动化测试

    unit测试:

      karma-jasmine

      karma-mocha

    e2e测试:

      nightwatch

    Karma优点:

    • 支持多浏览器的测试: 能帮助你开发出多个浏览器兼容的应用。而且支持移动设备的浏览器,只需要在启动karma服务后,用手持设备连接到karma的服务即可。
    • 无测试框架限制 Jasmine,Mocha...
    • 有文件监控功能,保存文件触发测试执行。

    单元测试的必要性: 

     页面前端逻辑复杂度与日俱增,前端工程师写出来的JavaScript变得庞大甚至臃肿,维护的难度不断加大,你需要一个javascript单元测试框架,用于降低维护javascript代码时的出错风险,保证重构后的代码的兼容性,最重要的是减少人肉测试的过程,降低js代码维护成本。jasmine无疑是目前最优秀的javascript单元测试框架之一

    所谓BDD(行为驱动开发,Behaviour Driven Development),是一种新的敏捷开发方法。Dan North对BDD给出的定义为:

    BDD是第二代的、由外及内的、基于拉(pull)的、多方利益相关者的(stakeholder)、多种可扩展的、高自动化的敏捷方法。它描述了一个交互循环,可以具有带有良好定义的输出(即工作中交付的结果):已测试过的软件。

    BDD与TDD(Test Driven Development )的主要区别是,使得非程序人员也能参与到测试用例的编写中来,大大降低了客户、用户、项目管理者与开发者之间来回翻译的成本。所以BDD更加注重业务需求而不是技术[1]。

    下面是一些框架的测试方式:

    vue:

    unit:karma-jasmine 在chrome、Safari、Firefox上测试

    cover:

    var options = Object.assign(base, {
        browsers: ['PhantomJS'],
        reporters: ['mocha', 'coverage'],
        coverageReporter: {
          reporters: [
            { type: 'lcov', dir: '../coverage', subdir: '.' },
            { type: 'text-summary', dir: '../coverage', subdir: '.' }
          ]
        },
        singleRun: true,
        plugins: base.plugins.concat([
          'karma-coverage',
          'karma-phantomjs-launcher'
        ])
      })

    sauce:

    ??不懂

    单测主要是karma-jasmine

    e2e:

    nightwatch、selenium、phantomjs

    react:

    jest

    Jest 是Facebook的一个专门进行Javascript单元测试的工具,之前仅限他们的前端工程师在公司内部使用,后来开源出来,它是在Jasmine测试框架上演变开发而来,使用了我们熟知的expect(value).toBe(other) 这种断言格式。

  • 相关阅读:
    Nuget~打包时添加powershell初始化脚本
    ELK系列~对fluentd参数的理解
    arclistsg独立单表模型文档列表
    arcpagelistarclist列表分页
    autochannel 指定栏目
    ini文件解析c库(iniparser)
    POJ 1386 有向图欧拉通路
    最好用的20个数据可视化工具(四)
    各种语音编码总结
    struts2讲义----二
  • 原文地址:https://www.cnblogs.com/zqiong/p/6555889.html
Copyright © 2011-2022 走看看