草庐IT

run-jasmine

全部标签

javascript - 为什么 Jasmine spy 不认为它被调用,即使它返回了 andReturn 值?

我正在尝试调试jQuery.post上的spy程序那没有开火,所以作为完整性检查,我试过了spyOn(this.viewModel.requests,'submitRequest').andReturn('fooz');varret=this.viewModel.requests.submitRequest();expect(ret).toEqual('foo');expect(this.viewModel.requests.submitRequest).toHaveBeenCalled();这失败了Expected'fooz'toequal'foo'.但是当我在andReturn的参

javascript - Karma + Jasmine( Angular Testing ): Where should I define mock classes and test variables?

让我们来看下面的例子:constlistDefinition:any={module:"module",service:"service",listname:"listname"};@Component(...)classMockTreeExpanderComponentextendsTreeExpanderComponent{...}classMockListConfigurationsServiceextendsListConfigurationsService{...}describe('ColumnsListConfigurationsComponentTestcases',(

javascript - 如何自定义 Jasmine 的目录结构?

当使用JasmineRubygem时,我发现非常烦人的是我必须符合生成的目录结构,该目录结构在spec文件夹中有一个javascripts子文件夹。我发现它没用,因为我完全用Javascript编写。我发现我可以通过更改生成的jasmine.yml在public文件夹中更改它,但是,这不是我想要的,因为我仍然必须保留javascripts文件夹给我。有什么方法可以自定义这个文件夹结构吗? 最佳答案 这是我用jasminegem1.0.2.1做的:1)自定义jasmine_config.rb文件覆盖simple_config_file

javascript - 如何在 Jasmine/Angularjs 中对下拉列表进行单元测试

我正在尝试对一个指令进行单元测试,该指令使用一些JSON来创建下拉列表以指定列表的详细信息。该指令工作正常,但我在尝试对其进行单元测试时遇到问题。这是测试:/*globalinject,expect,angular*/define(function(require){'usestrict';require('angular');require('angularMock');require('reporting/js/directives/app.directives');require('reporting/js/directives/drop.down.field.directive

javascript - SwfObject - 在没有 "Allow to run..."firefox 消息的情况下检测 flash

我一直在我的一个项目中使用swfobject来检测最终用户是否安装了Flash版本。问题出在Firefox上,因为它显示消息:“允许运行Adob​​eFlash?”这是我想避免的事情。这不是要向最终用户显示替代内容,我只想尝试检测Flash,如果未安装flash,则不显示任何内容,但如果安装了flash,则不要显示Allow在Firefox中运行...消息。有谁知道有什么方法可以防止SwfObject发生这种情况吗?注意:只需在htmlheader中包含下一行:它会触发允许运行消息:S如果您认为有更好的swfobject替代品来解决这个问题,并且它是一个很好的多用途swf处理程序工具,

javascript - 使用 Jasmine async 测试 postMessage 不起作用

我正在尝试使用Jasmine2.0为AngularJS应用程序中的某些逻辑编写单元测试,但该逻辑位于事件监听器中。来自Controller:window.addEventListener('message',function(e){if(e.data==="sendMessage()"){$scope.submit();}},false);来自测试文件:describe("postmessage",function(){beforeEach(function(done){varcontroller=createController(controllerParams);spyOn($sc

Javascript 异步执行 : will a callback interrupt running code?

我只是希望有人能为我澄清这一点。如果我使用node.js在服务器端运行以下代码,不在浏览器中:console.log("a");db.get('select*fromtable1',function(result){console.log("b");});console.log("c");假设数据库调用是异步的我应该得到结果acb但是如果我要将以下行添加到我的代码底部while(1);那么b永远不会执行,对吗? 最佳答案 如果您谈论的是客户端javascript执行,那么您是正确的(直到浏览器决定停止您的无限循环)。客户端javas

javascript - karma Jasmine 测试 : Highlight diff in terminal

我将Karma与Jasmine一起用于我的测试。在某些测试中,我有测试所依赖的大对象。当我做类似的事情时expect(obj).toEqual(expectedObj);和obj!=expectedObj,我在终端中收到一条错误消息。但是这个错误真的很长,因为它包含了两个对象,而且很难看出两个对象在哪些部分不同。那么,有没有可以与karma一起使用的终端荧光笔?这样,就更容易找出问题所在。 最佳答案 我遇到了同样的问题,为我做了什么karma-jasmine-diff-reporter.只需安装它:npminstallkarma-j

javascript - Jasmine 不会从 Assets 管道加载 javascript 文件

我正在开发一个gem,我已经安装了Jasminehttps://github.com/pivotal/jasmine-gem/我所有需要的JS文件都在我的list文件中,位于app/assets/javascripts/application.js//=requireunderscore//=requirebackbone//=require_tree.//vendor//=require_tree.//custom//=require_tree.//templates//=require_tree.//models//=require_tree.//collections//=req

javascript - 找不到 Karma + Jasmine + TypeScript + Webpack 的源映射

我正在尝试使用Karma、Jasmine和Webpack测试(覆盖)我的TypeScript应用程序。通过以下,我能够成功运行测试,但无法正确生成覆盖率。我正在使用karma-remap-coverage(https://github.com/sshev/karma-remap-coverage),它看起来很简单。它看起来好像发生了一些有趣的事情(而且我得到了某种覆盖率报告)但是在这里和那里进行了一些调整,数字发生了巨大变化,我永远无法真正加载源map。这是基本设置:我有一个src目录,其中包含10个.ts文件。目前只有一个有相应的.spec文件。spec文件非常简单,足以证明我可以运