草庐IT

jasmine-core

全部标签

javascript - Foundation-Apps angular 站点与 karma-jasmine 单元测试的集成

我认为在尝试运行karmajasmine单元测试时使用angular-mocks和foundation-apps存在问题。也可能是我错过了什么。由于要看的代码太多,我在github上发布了一个示例项目以供审查。基本上网站运行良好,karma运行测试,但是当您调试到angular.mocks.module函数时,您会发现您的应用程序中的模块没有被加载。如果您将foundation-apps排除在外,它将正常工作。这会不会是版本冲突,因为foundation-apps对angular-mocks有较旧的依赖性?fatestongithub 最佳答案

javascript - 使用 Karma Jasmine 进行 Angular JS 测试

我有一个像这样的示例路线:angular.module('appRouter',['ui.router']).config(function($stateProvider,$urlRouterProvider){$stateProvider...........state('settings.account',{url:'/account',templateUrl:'templates/account.html',controller:function(resolveData){console.log(resolveData);},resolve:{resolveData:functi

javascript - 如何监视 Jasmine 中的嵌套方法?

考虑这种常见情况:vara={b:{c:function(){}}}我想监视c,虽然它很容易:spyOn(a.b,'c');但是它创建了一个spy但它不起作用。没有显示任何错误,调试时我可以看到有一个spy。如何监视嵌套方法?更新输出为:Object[objectObject]没有方法'tohaveBeenCalledWith' 最佳答案 我猜错字是问题所在;正如您概述的那样,监视嵌套函数效果很好。注意大小写:Jasmine函数是toHaveBeenCalled()。由于您编写了tohaveBeenCalled()错误消息是有意义的

javascript - 测试失败后如何让 jasmine.js 停止?

我希望运行者在第一次失败后停止,而不是运行所有测试。 最佳答案 这是一个hack,但您可以通过在第一次测试之前插入此脚本来做到这一点;//aftereverytesthasrunafterEach(function(){//checkifanyhavefailedif(this.results_.failedCount>0){//ifso,changethefunctionwhichshouldmovetothenexttestjasmine.Queue.prototype.next_=function(){//toinsteads

javascript - 通过 Core Erlang 将 Erlang 编译为 Javascript

所以开始在LuvvieScript上取得进展,然后一切都在Twitter上开始了......https://twitter.com/gordonguthrie/status/389659700741943296安东尼·拉明https://twitter.com/nokusu指出我做错了,我应该通过CoreErlang而不是ErlangAST从Erlang编译到JavaScript。这对我来说既是一个引人注目但又没有吸引力的选择......Twitter不是该讨论的正确媒介,我想我会在这里写下来并就此获得一些建议。战略概览LuvvieScript有三个核心要求:一个有效的Erlang子集

javascript - 有没有办法在自定义匹配器中使用 Jasmine 默认匹配器?

我在一些Jasmine测试规范中有一个自定义匹配器,形式如下:this.addMatchers({checkContains:function(elem){varfound=false;$.each(this.actual,function(actualItem){//Checkiftheseobjectscontainthesameproperties.found=found||actualItem.thing==elem;});returnfound;}});当然,actualItem.thing==elem实际上并没有比较对象内容——我必须使用Objectcomparisonin

javascript - javascript getter 的 Jasmine 测试不起作用

我正在为angularjs工厂编写一些测试,但有些期望不起作用,我真的不知道为什么。这是我的工厂(其中的一部分)。'使用严格';angular.module('myAppMod').factory('Person',function(BaseModel){returnBaseModel.extend({getfullname(){varname=[];if(this.first_name){name.push(this.first_name);}if(this.person_extra&&this.person_extra.middle_name){name.push(this.per

javascript - 揭示模块模式 - 使用 Jasmine 进行单元测试

在与揭示性模块模式短暂接触后,我开始意识到单元测试模块的挫折。但是,我无法确定这是否是我测试模块的方法,或者是否有某种形式的解决方法。考虑以下代码:varmyWonderfulModule=(function(){functionpublicMethodA(condition){if(condition==='b'){publicMethodB();}}functionpublicMethodB(){//...}return{methodA:publicMethodA,methodB:publicMethodB}}());如果我想测试(使用Jasmine)从publicMethodA到

javascript - 如何使用 Jasmine 在 AngularJS 中测试 .catch Promise 返回?

我是Javascript的新手,刚开始学习AngularJS,但我的大部分测试用例都与我发现的一些很好的示例一起使用。不幸的是,我似乎找不到任何可以帮助我测试当前案例的东西。我正在使用一个模拟服务测试一个Controller,该服务的方法返回一个promise。我希望模拟服务返回一个错误,以便在Controller方法中执行“.catch”block。我可以通过几种方式判断它没有被正确调用:我正在使用istanbul用于代码覆盖,它告诉我我没有覆盖“catch”'.catch'block中的代码没有被执行,据我通过调试得知被测Controller,具体需要测试$scope.login中

javascript - Protractor Jasmine 描述嵌套在 it block 中的 block

首先,下面的代码似乎可以工作。但是,我还没有看到有人这样做,所以我想知道这是否合法,以及我是否遗漏了无法预料的缺点。上下文是我正在使用Protractor编写E2E测试,它使用Jasmine风格的describe/itblock。我的目标是加载一个页面并运行一堆it测试block,而不是每次都重新加载该页面(因为它很耗时)。我的构造是:describe("Homepage",function(){beforeEach(function(){browser.get("/");//loadsthepage});it('elements',function(){describe('testg