Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasmine Karma test runner的速度比它应该的慢_Jasmine_Karma Runner_Karma Jasmine - Fatal编程技术网

Jasmine Karma test runner的速度比它应该的慢

Jasmine Karma test runner的速度比它应该的慢,jasmine,karma-runner,karma-jasmine,Jasmine,Karma Runner,Karma Jasmine,基本上,我是在杜兰达尔试驾我的淘汰版viewmodels 我最多进行80次测试,总运行时间为58秒 当我在以下地点观看视频时: 这家伙在3秒内完成了1500多项测试 看来我一定是做错了什么事 下面是我的一个测试示例,只是为了给我正在做的事情提供一些上下文 define(["doubles/TestCart", "komapping", "generators/BenefitGenerator"], function (vm, mapping, benefitGenerator) { de

基本上,我是在杜兰达尔试驾我的淘汰版viewmodels

我最多进行80次测试,总运行时间为58秒

当我在以下地点观看视频时: 这家伙在3秒内完成了1500多项测试

看来我一定是做错了什么事

下面是我的一个测试示例,只是为了给我正在做的事情提供一些上下文

define(["doubles/TestCart", "komapping", "generators/BenefitGenerator"],
function (vm, mapping, benefitGenerator)
{
    describe('When retrieving the cart data', function ()
    {
        var benefitOne = benefitGenerator.generateBenefit();
        var benefitTwo = benefitGenerator.generateBenefit({ Status: 1 });
        var benefitThree = benefitGenerator.generateBenefit({ Status: 2 });

        beforeEach(function (done)
        {
            vm.Reset();

            $.mockjax({
                url: "*/api/Benefits",
                contentType: "application/json",
                type: "get",
                responseText: [
                    benefitOne,
                    benefitTwo,
                    benefitThree
                ],
                onAfterComplete: function () { done(); }
            });

            //Act
            vm.refresh();
        });

        it('should have the correct benefits', function ()
        {
            expect(vm.allBenefits()[0].Id()).toEqual(benefitOne.Id);
            expect(vm.allBenefits()[1].Id()).toEqual(benefitTwo.Id);
            expect(vm.allBenefits()[2].Id()).toEqual(benefitThree.Id);
        });

        it('should have the correct cart count', function () {
            expect(vm.cartBenefitCount()).toEqual(1);
        });
    });
});
请注意,我没有最小化浏览器,我还不能完全使用新的jasmine 2.1 beforeach而不是beforeach(尽管在测试中这将是我运行时间的一半)

==附录==

我已经从测试中删除了所有的实现,我只是有一个空的descripe,前面没有,然后是两个空的descripe。每次跑步都需要半秒的时间。这似乎不是我的测试本身,而是配置,不知怎的,我会继续寻找

==附录2==


我现在把时间缩短到20秒。问题是我有一个没有“描述”的测试,它在所有其他测试中的每个测试之后运行这个测试。我的瓶颈现在似乎是mockjax,它需要500毫秒。

好的,现在我的测试时间缩短到了0.2秒,我相信你会同意这一点

为我解决这个问题的步骤有两个:

步骤1)我有一个没有描述的测试,karma在每个测试的每一个“it”之后运行这个测试。 一旦我添加了描述,我的运行时间下降到20秒。这个缺少描述的测试使用的是mockjax,这导致我

步骤2) Mockjax的默认响应时间为500ms。这花了我大约20秒。我将配置设置为
$.mockjaxSettings.responseTime=1//1ms
现在运行时间降低到0.23秒

希望这能帮助其他人