karma的基础应用之与fis结合

Sam先生的博客 Sam先生的博客     2022-08-02     627

关键词:

一、介绍

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

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

二、karma的基础应用

1.karma的基础api:

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

2.示例代码:

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中作如下配置:

fis.match(‘::package‘,{
   ‘prepackager‘:fis.plugin(‘karma‘)
});
5.再次运行fis即会执行。

Karma,覆盖率报告结合 webpack

】Karma,覆盖率报告结合webpack【英文标题】:Karma,coveragereportcombinedwithwebpack【发布时间】:2017-01-2700:20:06【问题描述】:我已经设置了karma以及正在工作的覆盖率工具-但由于我也在使用webpack,所以覆盖率报告使用的是webpack创建... 查看详情

celery学习---celery最佳实践之与django结合实现异步任务

django可以轻松跟celery结合实现异步任务,只需简单配置即可同步执行和异步执行注意:即使Celery的任务没有执行完成,但是已经创建了任务ID。可以利用前台的定时任务发送Ajax异步请求根据ID查询结果项目整合项目的目录结构:... 查看详情

mvp模式之与apt技术结合产生的火花(代码片段)

前言在前一篇文章《MVP模式探索-Presenter和View解耦的尝试》里,我在文章末尾说到了该解耦方式有几个已知的问题,其中一个就是用反射的方式去执行方法会有性能上的损耗,但是可以用APT技术替代反射的方式。后来... 查看详情

karma(testrunner)(代码片段)

...所决定。含有善恶、苦乐果报之意味,亦即与因果关系相结合的一种持续作用力。,2,在佛教中,既是&ldq 查看详情

servlet规范之与其他规范有关的要求(代码片段)

...要求文章目录与其他规范有关的要求SessionsWebApplicationsWeb应用程序类加载器Web应用程序环境Web模块上下文根网址的JNDI名称Examples安全性EJB™调用中安全身份的传播容器授权的要求容器认证的要求部署部署描述符的元素JAX-WS组件的... 查看详情

mvp模式之与apt技术结合产生的火花(代码片段)

前言在前一篇文章《MVP模式探索-Presenter和View解耦的尝试》里,我在文章末尾说到了该解耦方式有几个已知的问题,其中一个就是用反射的方式去执行方法会有性能上的损耗,但是可以用APT技术替代反射的方式。后来... 查看详情

Karma 测试运行器 - 无法捕获 chrome

...1-0422:40:56【问题描述】:我正在使用Yeoman生成一个AngularJS应用程序。运行gruntserve来预览我的应用程序工作正常,但是当我尝试使用grunttest运行测试时,我的控制台上出现以下错误:Running"karma:unit"(karma)taskDE 查看详情

使用 karma 和 jamis 进行 Angular 单元测试

...:2019-07-0106:26:46【问题描述】:我已经设置了我的Angularjs应用程序,用于使用Karma和Jasmin进行单元测试。但是当我尝试使用karmastart运行我的测试用例时,我收到错误名称为Myctrl的控制器未注册。我的应用结构如下project-folder-a 查看详情

h5必知必会之与app交互

...文内容如下:H5,在中国被专门用来指代开发内嵌于手机应用中的网页的技术,外国好像并没有这个说法。从技术上讲,H5是HTML5即HyperTextMarkupLanguage(超文本标记语言)第5版的简称。而HTML只是开发网页要用到的多种技术之一。... 查看详情

Karma Webpack 源图不起作用

...文件在调试器中显示为可读。但是,被测系统文件(我的应用程 查看详情

如何使用 karma 在我的 Aurelia 应用程序中获得代码覆盖率结果?

】如何使用karma在我的Aurelia应用程序中获得代码覆盖率结果?【英文标题】:HowcanIgetcodecoverageresultsinmyAureliaappusingkarma?【发布时间】:2017-03-0223:39:48【问题描述】:我使用AureliaCLI(aunew)创建了一个Aurelia应用程序,并希望设置代码... 查看详情

用 angularjs karma 和 jasmine 编写 TDD

...4-2812:08:34【问题描述】:我正在使用karma和jasmine编写我的应用程序的测试用例。我是单元测试的新手。这是我的代码:$scope.$watch(\'filterParams.statusModel\',function()$scope.customFil 查看详情

使用 Karma 测试 Angular 时选择性地模拟服务

...Angular服务的问题,但我遇到了一个问题,即在测试我的应用程序时让我的模拟更加普遍。在我当前的设置中,我有一个名为serviceMocks的模块,其中包含一个工厂,其中包 查看详情

E/FirebaseInstanceId:获取 FIS 身份验证令牌失败

...按照firebase创建项目的所有步骤进行操作。当我运行我的应用程序时,我收到以下错误:java.util.concurrent.ExecutionException:com.google.fireb 查看详情

将 index.html 中的引用自动复制到 karma.conf.js

...述】:我正在尝试为我的测试生成一个karma.conf.js。我的应用程序中已经有大约30个标签引用了我的代码。我正在以模块化结构编写我的AngularJS代码,推荐使用here 查看详情

算法基础:差分算法及模板应用

⭐写在前面的话:本系列文章旨在复习算法刷题中常用的基础算法与数据结构,配以详细的图例解释,总结相应的代码模板,同时结合例题以达到最佳的学习效果。本专栏面向算法零基础但有一定的C++基础的学习者。若C++基础不... 查看详情

使用 Webpack 的 Karma:伊斯坦布尔覆盖率为 100%(0/0)

...Webpack(4.27.1)和Karma(3.1.3)+Jasmine(jasmine-core2.99.1)为Angular1.6.6应用程序实现代码覆盖功能。所有测试都成功通过。然而, 查看详情

Karma Coverage + RequireJS:误导性覆盖报告

...题描述】:今天我已将KarmaCoverage集成到我现有的RequireJS应用程序中。我添加了karma-requirejs插件,并且能够成功获取覆盖率报告。最初的报告非常好,几乎100%的覆盖率。当我仔细 查看详情