草庐IT

gulp-jasmine

全部标签

javascript - Jasmine 模拟窗口对象

如何模拟窗口对象?我正在做firefox扩展,我想使用jasmine进行javascript测试。在我的javascript中有functionsubmit(){...varurl=window.arguments[0];...}显然,我必须在jasmine中模拟window.arguments[0],因为如果不从window.openDialog传递任何参数,则该对象不存在这是我尝试用“with”来模拟它it("shouldsubmittoserver",function(){varlocalContext={"window":{arguments:["http://localhos

javascript - 如何使用 jasmine 测试具有 setTimeout 的函数?

我需要为内部调用了setTimeout()的函数编写测试,但我找不到我应该怎么做。这是函数//Disablesallsubmitbuttonsafterasubmitbuttonispressed.varblock_all_submit_and_ajax=function(el){//Clonetheclickedbutton,weneedtoknowwhatbuttonhasbeenclickedsothatwecanreactaccordinglyvar$clone=$(el).clone();//Changethetypetohidden$clone.attr('type','h

javascript - 从 gulp 运行 shell 命令

我想使用gulp-shell从gulp运行一个shell命令。我看到gulpfile使用了以下惯用语。这是从gulp任务运行命令的惯用方式吗?varcmd='ls';gulp.src('',{read:false}).pipe(shell(cmd,{quiet:true})).on('error',function(err){gutil.log(err);}); 最佳答案 gulp-shell已被列入黑名单。你应该使用gulp-exec相反,它也有更好的文档。对于您的情况,它实际上指出:Note:Ifyoujustwanttorun

javascript - 将 $timeout 与 Jasmine 的模拟时钟一起使用的单元测试 Angular 服务

我的一个Angular服务中有一个函数,我想定期重复调用它。我想使用$timeout来做到这一点。它看起来像这样:varinterval=1000;//Orsomethingvar_tick=function(){$timeout(function(){doStuff();_tick();},interval);};_tick();我现在对如何使用Jasmine进行单元测试感到困惑-我该怎么做?如果我使用$timeout.flush(),那么函数调用会无限期地发生。如果我使用Jasmine的模拟时钟,$timeout似乎不受影响。基本上,如果我能让它正常工作,我就可以开始了:descr

javascript - 如何让 Gulp 停止监视文件

如何阻止文件被监视?我没有看到文档中的方法,这对我来说有点奇怪。 最佳答案 这不是一口吞下去的东西。Gulp只是作为一个永无止境的进程运行。中止进程的方法是Ctrl+C。 关于javascript-如何让Gulp停止监视文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/21532909/

javascript - AngularJS + Jasmine : Comparing objects

我刚开始为我的AngularJS应用程序编写测试,并在Jasmine中这样做。这里是相关的代码片段客户端Controller:'usestrict';adminConsoleApp.controller('ClientController',functionClientController($scope,Client){//Getlistofclients$scope.clients=Client.query(function(){//preselectfirstclientinarray$scope.selected.client=$scope.clients[0];});//nec

javascript - 我如何使用 jasmine 监视 getter 属性?

我如何使用jasmine监视getter属性?varo={getfoo(){},};spyOn(o,'foo').and.returnValue('bar');//Doesn'twork.这也不起作用AFAICT:spyOn(Object.getOwnPropertyDescriptor(o,'foo'),'get').and.returnValue('bar'); 最佳答案 从Jasmine2.6开始,这可以通过spyOnProperty实现。.要监视foo属性的访问器,请执行以下操作:spyOnProperty(o,'foo')

javascript - karma : Uncaught ReferenceError: require is not defined 中的 Jasmine 测试

Karma无法识别JSFileSpec.js文件中的“require”语句。运行karma.conf.js:(function(){describe("DummyEmittercreation",function(){returnit("creation",function(){varDummyEmitter=require('Util.DummyEmitter');vardummy=newDummyEmitter('someName');returnexpect(dummy).toBeDefined();});});})();ReferenceError:require未定义

javascript - gulp 错误 :Unable to minify JavaScript

我正在尝试缩小我正在使用gulptaskrunner的脚本文件我正在尝试gulp-uglify插件代码:gulp.task('concat',function(){returngulp.src('app/**/*.js')//.pipe(concat('script.js')).pipe(uglify()).pipe(gulp.dest('./dist/'))});但我收到错误信息当我尝试将gulp任务作为gulpconcat运行时任何帮助将不胜感激 最佳答案 主要错误是在使用ES6格式时产生的。使用gulp-uglify-es模块

javascript - Gulp - 复制并重命名文件

我对Gulp非常陌生。我基本上是在尝试查看修改后的JavaScript文件,然后使用新名称创建一个新副本。(最终会有一些处理,但罗马不是一天建成的)。我的(幼稚的)尝试是这样的:gulp.task('default',function(){returngulp.watch('../**/**.js',function(obj){gulp.src(obj.path).pipe(gulp.dest('foobar.js'));});});这会获取修改后的文件并将其成功复制到现在名为foobar.js的文件夹中。有什么简单的方法可以替换gulp.dest('foobar.js'),只需复制并