草庐IT

unit-testing

全部标签

javascript - jasmine-node 是否提供任何类型的 "fail fast"选项?

当我从命令行运行一套jasmine测试时,我想要某种类型的快速失败选项,以便它在第一个断言错误时停止今天有这样的东西吗? 最佳答案 刚拼在一起jasmine-bail-fast获得这种行为。npminstalljasmine-bail-fast然后在你的第一个规范之前:require('jasmine-bail-fast');jasmine.getEnv().bailFast();希望得到它mergedtojasminecore然后作为标志添加到jasmine-node。 关于javas

javascript - Jasmine 期待(结果代码)。toBe(200 或 409)

对于某些测试场景,我遇到了针对多个值进行测试的需求,这些值都可以。我想做的事情如下:expect(resultCode).toBeIn([200,409]);当resultCode为200或409时,该规范应该通过。这可能吗?已添加感谢peter和dolarzo指导我创建匹配器。我在使用addMatchers()时遇到了问题。所以,最后我在jasmine.js中添加了以下内容:jasmine.Matchers.prototype.toBeIn=function(expected){for(vari=0;i这给了我一个可行的解决方案。我现在可以根据需要执行toBeIn。(Jasmine1

javascript - 我如何解决 AngularJS 单元测试中的 promise

我正在使用基本的karma/jasmine设置来测试我的Angular代码。这是我的测试:var$controllerConstructor,ctr,mockSuperheroData,scope,deferred,q;describe('maincontroller',function(){var$controllerConstructor,ctr,mockSuperheroData,scope,deferred,q;beforeEach(inject(function($controller,$rootScope,$q){scope=$rootScope.$new();$contr

javascript - $browser.$$checkUrlChange 在 Jasmine 测试中未定义

我有以下测试:it('shouldmaintainabindbetweenthedataatthe$scopetothedataattheingredientsService',function(){$scope.addFilters('val1',$scope.customFiltersData,'filter1');$scope.$digest();expect($scope.customFiltersData).toEqual(ingredientsService.filters());});我收到以下错误:TypeError:undefinedisnotafunctionatS

javascript - 为什么 RegEx.test 会在后续调用中更改结果?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么以下从true变为false;varr=/e/gi;r.test('e');//truer.test('e');//false然后继续切换true,false,true,false......

javascript - Regex.test() 给出真假顺序?

任何人都可以解释一下,为什么本地Regex变量和非本地Regex变量有不同的输出。varregex1=/a|b/g;functionisAB1(){returnregex1.test('a');}console.log(isAB1());//trueconsole.log(isAB1());//falseconsole.log(isAB1());//trueconsole.log(isAB1());//falsefunctionisAB2(){varregex2=/a|b/g;returnregex2.test('a');}console.log(isAB2());//truecons

javascript - 在 Angular 单元测试中应该如何处理运行 block ?

我的理解是,当您在Angular单元测试中加载模块时,runblock会被调用。我想如果你正在测试一个组件,你不会希望同时测试runblock,因为unit测试应该只是测试一个单元。是真的吗?如果是这样,有没有办法阻止runblock运行?我的研究使我认为答案是“否”,并且runblock总是在加载模块时运行,但也许有一种方法可以覆盖它。如果没有,我将如何测试runblock?运行block:functionrun(Auth,$cookies,$rootScope){$rootScope.user={};Auth.getCurrentUser();}Auth.getCurrentUse

javascript - 在 Jest 的函数内部模拟函数调用

我有一个函数getBookingStateObject调用另一个函数getBookingStateButtons。getBookingStateButtons又调用另外两个函数linkBut​​tons和sendEventButtons。我正在尝试为上述场景编写测试。我的测试文件中有以下内容。import{getBookingStateButtons,getBookingStateObject,linkButtons,sendEventButtons,}from'./bookingStates'jest.mock('getBookingStateButtons',()=>jest.fn

javascript - 单元测试一个指令,其模板都是一个带有脚本标签的文件

我很难弄清楚如何在我的Karma单元测试中包含我的指令模板(它们都在一个文件中的不同脚本标签中)。我得到的错误:PhantomJS1.9(Linux)ERRORSyntaxError:Parseerrorat/var/www/html/tweak/core/global/views/js/modules/datable/templates.html:1PhantomJS1.9(Linux):Executed0of0ERROR(0.313secs/0secs)以下是代码的相关部分:我的指令肉:return{scope:{columns:'=',config:'='},templateUr

javascript - 我如何使用 Sinon stub $(window).width() ?

我在JSView中有一个函数,如果窗口宽度小于1000,它会执行一些操作。我正在尝试使用Mocha、chai为此编写单元测试,并通过Phantom/Chrome/中的karma测试运行器运行测试Chromium浏览器。我还使用sinon对方法进行stub并使其返回一些所需的值。现在有一个条件检查,如果窗口宽度小于1000,那么我怎么能stub呢,我正在尝试类似下面的方法,sinon.stub($(window).width());$(window).width().returns(900);但它不起作用。有什么特定的方法可以stub$(window).width()值吗?