美文网首页
karma一些笔记

karma一些笔记

作者: 一点金光 | 来源:发表于2019-08-20 12:56 被阅读0次

    一个测试运行器

    为什么要

    to bring a productive testing environment to developers:

    01.just write the code
    02.get instant feedback from tests

    它是什么

    01.Test on Real Devices
    02.Remote Control
    03.Testing Framework Agnostic
    04.Easy Debugging
    05.Continuous Integration
    06.Open Source

    如何使用

    安装软件

    ::<<eof
    npm install karma --save-dev
    # 一些插件
    npm install karma-jasmine karma-chrome-launcher jasmine-core --save-dev
    # 检查结果
    ./node_modules/karma/bin/karma start
    eof
    

    配置软件

    ::<<eof
    #生成文件
    ./node_modules/karma/bin/karma init my.conf.js
    #2 需要哪个测试框架?
    #2 是否需要模块加载?
    #2 运行于哪些浏览器?
    #2 源码文件放在哪里?
    #2 测试文件放在哪里?
    #2 需要排除哪些文件?
    #2 测试时用监控模式?
    #运行软件
    ./node_modules/karma/bin/karma start karma.conf.js
    #获取帮助
    ./node_modules/karma/bin/karma start --help
    eof
    

    如何工作

    常见问题

    ::<<eof
    #集成测试框架?
    
    #能够端到端测?
    
    #集成持续集成?
    
    #该用哪个版本?
    eof
    

    遇到问题

    ::<<eof
    #如何进行调试?
    --log-level debug
    --no-single-run
    #装模块出问题?
    
    #浏览器没启动?
    
    #有一大堆错误?
    #2 http://localhost:9876/debug.html
    
    #文件语法错误?
    --log-level debug
    eof
    

    配置文件

    ::<<eof
    #读取顺序?
    
    #文件匹配?
    
    #配置选项?
    
    eof
    

    哪些文件

    The files array determines which files are included in the browser and which files are watched and served by Karma.

    ::<<eof
    
    eof
    

    何浏览器

    ::<<eof
    # 基本结构
    browsers: ['Chrome']
    
    # 有效取值
    
    # 某个示例
    #2 安装插件
    npm install karma-firefox-launcher --save-dev
    #2 添加配置
    module.exports = function(config) {
      config.set({
        browsers : ['Chrome', 'Firefox']
      });
    };
    
    # 域名端口
    
    # 设发布器
    sauceLabs: {
      username: 'michael_jackson'
    }
    # 浏端路径
    #2 win-cmd:
    SET IE_BIN=C:\Program Files\Internet Explorer\iexplore.exe
    
    # 自定浏端
    // in the karma.conf.js
    browsers: ['/usr/local/bin/custom-browser.sh'],
    // from cli
    karma start --browsers /usr/local/bin/custom-browser.sh
    eof
    
    `预处理器`
    ```sh
    ::<<eof
    # 基本结构
    preprocessors: {
      '**/*.coffee': ['coffee'],
      '**/*.tea': ['coffee'],
      '**/*.html': ['html2js']
    },
    
    # 有效取值
    
    # 执行顺序
    preprocessors: {
      '*.js': ['a', 'b']
    }
    
    # 某个示例
    #2 安装插件
    npm install karma-coffee-preprocessor --save-dev
    #2 添加配置
    preprocessors: {
      '**/*.coffee': ['coffee'],
    },
    #2 设置选项
    coffeePreprocessor: {
      options: {
        bare: false
      }
    }
    eof
    

    软件插件

    ::<<eof
    #安装
    npm install karma-<plugin name> --save-dev
    
    # 加载
    plugins: [
      // Karma will require() these plugins
      'karma-chrome-launcher'
    
      // inlined plugins
      {'framework:xyz': ['factory', factoryFn]},
      require('./plugin-required-from-config')
    ]
    eof
    

    参考文献

    karma.4.0-intro-configuration.github[p].
    karma.4.0-intro-faq.github[p].
    karma.4.0-config-configuration-file.github[p].
    karma.4.0-config-browsers.github[p].
    karma.4.0-config-preprocessors.github[p].
    karma.4.0-config-plugins.github[p].
    karma.4.0-plus-travis.github[p].

    相关文章

      网友评论

          本文标题:karma一些笔记

          本文链接:https://www.haomeiwen.com/subject/zyousctx.html