Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >karma的基础应用之与fis结合

karma的基础应用之与fis结合

作者头像
sam dragon
发布于 2018-01-17 02:43:35
发布于 2018-01-17 02:43:35
82800
代码可运行
举报
文章被收录于专栏:cnblogscnblogs
运行总次数:0
代码可运行

一、介绍

1. karma是单元测试运行框架,可以集成jasmine断言库,也支持babel。

2.fis是百度前端团队开源推出的前端工程化管理工具。

二、karma的基础应用

1.karma的基础api:

  • server:创建一个测试服务器 【可以是远程计算机】
  • runner.run:运行完单元测试后,立即停止服务
  • stopper.stop:停止下在运行的测试服务器
  • 在运行run或stop时,必须要让服务器处于start状态才行

2.示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var karma = require('karma');
var runner = karma.runner, stop = karma.stopper;
var server = karma.Server;
var _server = new server({port:1367},null);
_server.start();
//runner.run会在运行完成后,立即结束自己
runner.run({port:1367},function(exitCode){
    console.log('karma stop code:' + exitCode);
    process.exit(exitCode);
});
//结束自己现有的
var time = setTimeout(function(){
    stop.stop({port:1367},function(exitCode){
        console.log('programe exit: ' + exitCode);
        process.exit(exitCode);
    });
},5000);

三、让他成为fis的插件

1.由于fis工程有多个注入口,对于单元测试暂定放在打包之前(prepackager),其他注入口可以参考fis的之官网。

2.在node_moudles下创建fis-prepackager-karma文件夹(fis所有的插件都是一个npm包)

3.在fis-prepackager-karma文件夹中创建一个index.js文件,然后添加对karma的调用

4.在fis-conf.js中作如下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fis.match('::package',{
   'prepackager':fis.plugin('karma')
});

5.再次运行fis即会执行。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-09-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
fis3 文档学习研究
一、安装 安装初始化 npm i -g fis3 fis3 -v fis3 init 二、配置 类似Gruntfile.js或Gulpfile.js,新建fis-config.js文件 配置api介绍
IMWeb前端团队
2017/12/28
9450
搭建 karma + jasmine 测试环境
在前端开发的过程中,我们会写很多的功能函数,这样就会涉及到对这些功能函数进行单元测试,而karma就是一个很好用的可以在浏览器环境中进行测试的集成工具。
leocoder
2018/10/31
1.7K0
Webpack单元测试,e2e测试
此篇文章是续 webpack多入口文件、热更新等体验,主要说明单元测试与e2e测试的基本配置以及相关应用。 一、单元测试 实现单元测试框架的搭建、es6语法的应用、以及测试覆盖率的引入。 1. 需要安装的项目: jasmine:单元测试库 karma:测试框架,配置选择phantomjs浏览器 karma-jasmine:操作jasmine的插件 karma-webpack:webpack与karma的连接 mock:用于数据模拟,用'npm install --save-dev mockjs'安装 kar
sam dragon
2018/01/17
2.4K0
karma与webpack结合
一、必备插件 1.babel:es6的语法支持 2.karma:测试框架 3.jasmine:断言框架 4.webpack:打包工具 5.karma-webpack:karma调用webpack打包接口的插件 二、实现步骤 1.通过npm安装上述必备的插件包 2.创建webpack.test.config.js文件,此文件的配置用于单元测试 var path = require('path'); var webpack = require('webpack'); module.exports={ m
sam dragon
2018/01/17
1K0
搭建 karma + jasmine 测试环境
在前端开发的过程中,我们会写很多的功能函数,这样就会涉及到对这些功能函数进行单元测试,而karma就是一个很好用的可以在浏览器环境中进行测试的集成工具。
leocoder
2024/01/29
1730
单元测试初体验
Chai 支持 BDD 风格的 expect/should API 和 TDD 风格的 Assert API。
零式的天空
2022/03/25
1.6K0
87.HarmonyOS NEXT 单元测试与自动化测试指南:构建可靠的测试体系
通过建立完善的测试体系,可以有效保证应用的质量和稳定性。在实际开发中,要根据项目特点选择合适的测试策略,并持续优化测试流程。
全栈若城
2025/03/16
660
如何编写fis3插件
目前业务正在逐步迁移到fis3和lego,有许多和业务相关的fis插件需要处理。 fis 编译流程 官方的这张图,对fis的构建流程讲述的很清楚了,主要包括单文件编译和打包,业务中的插件也主要是这两
IMWeb前端团队
2017/12/28
8710
如何编写fis3插件
大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
大多数前端开发者对测试相关的知识是比较缺乏的,一来是开发节奏很快,来不及写,另一方面团队里也配备了“人肉测试机”,完全没必要自己来。但随着项目体量的增大,许多人维护同一份代码,经常会出现有些函数莫名其妙地结果不对了,或者某个接口的入参变了,又或者哪位大哥把后端返回的数据结构给改了。每天工作的时间里被拉来拉去帮人定位问题,结果花了很多时间却发现大部分都是别人的锅。每当遇到项目上线,那就更热闹了,跟着其他“人肉测试机”大家一起点点点......
大史不说话
2018/12/05
1.3K0
大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
译|通过构建自己的JavaScript测试框架来了解JS测试
测试(单元或集成)是编程中非常重要的一部分。在当今的软件开发中,单元/功能测试已成为软件开发的组成部分。随着 Nodejs 的出现,我们已经看到了许多超级 JS 测试框架的发布:Jasmine,Jest 等。
张张
2020/09/03
1.5K0
35·灵魂前端工程师养成-使用nodejs实现简单nginx功能
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/10/31
6300
35·灵魂前端工程师养成-使用nodejs实现简单nginx功能
webpack深入浅出实战系列
https://github.com/luoxue-victor/learn_webpack/
前端迷
2020/02/19
1.7K0
webpack深入浅出实战系列
常用的前端自动化测试工具介绍 —— Karma
在开发的过程中,除了代码本身,测试也是重要的一环。大体来说,测试分为以下几种类型:
江一铭
2022/06/17
1.6K0
详解karma & jasmine自动化测试
前端包管理工具 代码重用和复用是快捷开发的一种重要方式,但是原始的代码模块散布于各个平台上,不好寻找,程序员对其进行有效管理也成为了一大难题。此时,依赖(包、插件、工具都可以称呼,本质是他人写好封装后的代码模块)管理工具应需而生。依赖管理工具使用简单的命令即可提供 依赖的查找、安装、卸载等操作,深受广大程序员喜爱。 前端 Node.js 最为常用的依赖管理工具 是npm,npm 之于Node.js,就如 pip 之于 Python,gem 之于 Ruby,pear 之于 PHP , maven 之于Jav
lonelydawn
2018/02/09
2.4K0
详解karma & jasmine自动化测试
手写 git hooks 脚本(pre-commit、commit-msg)
Git 能在特定的重要动作发生时触发自定义脚本,其中比较常用的有:pre-commit、commit-msg、pre-push 等钩子(hooks)。我们可以在 pre-commit 触发时进行代码格式验证,在 commit-msg 触发时对 commit 消息和提交用户进行验证,在 pre-push 触发时进行单元测试、e2e 测试等操作。
谭光志
2022/03/24
1.8K0
手写 git hooks 脚本(pre-commit、commit-msg)
WEB界面测试实践之Selenium WebDriver
工作中需要对web界面进行测试,在网上找了找解决方案,最终找到了Selenium WebDriver。 WebDriver简介 The primary new feature in Selenium 2.0 is the integration of the WebDriver API. WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing some
jeremyxu
2018/05/10
3.9K0
【多图警告】学会JavaScript测试你就是同行中最亮的仔(妹)
#### ATDD: Acceptance Test Driven Development(验收测试驱动开发)
拾贰
2019/08/28
1.1K0
【多图警告】学会JavaScript测试你就是同行中最亮的仔(妹)
【读书笔记】《深入浅出 Node.js》
[《深入浅出 Node.js》] 读书笔记。 # 缘起 最初的目标是写一个基于事件驱动、非阻塞 I/O 的 Web 服务器。考虑高性能、符合事件驱动、没有历史包袱选择了 JavaScript。 # 特点 异步 I/O 事件与回调函数 事件优势:轻量级、松耦合、只关注事务点 单线程 优点 无需像多线程在意状态同步问题,没有死锁的存在 无线程上下文交换带来的性能上的开销 弱势 无法利用多核 CPU 错误会引起整个应用退出,应用的健壮性值得考验 大量计算占用 CPU 导致无法继续调用异步 I/O Node
Cellinlab
2023/05/17
8340
【读书笔记】《深入浅出 Node.js》
前端单元测试总结_javascript单元测试
目前,前端的测试框架很多,像QUnit、jasmine、mocha、jest、intern等框架,这些框架各有特点,简单描述下,感兴趣的可以具体研究:
全栈程序员站长
2022/09/20
1.5K0
使用 Vagrant 和 Fabric 用于集成测试
在cloudshare中,我们的服务是由许多部件组成的。当我们更改一个给定组件的代码后我们总需要测试它。我们小心地尝试着平衡单元测试和集成测试(或系统测试)的总量,以便能够实现合理的代码覆盖率和测试运行时间,最重要的是提升对我们代码的信心。
星哥玩云
2022/07/01
2490
相关推荐
fis3 文档学习研究
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文