Angularjs 指令在执行单元测试时被多次调用 我所拥有的: 第三方指令 我的自定义指令(视图使用第三方指令) 单元测试(对于其他组件,大约300个单元测试)
我的指令在模板中使用第三方指令,如下所示:Angularjs 指令在执行单元测试时被多次调用 我所拥有的: 第三方指令 我的自定义指令(视图使用第三方指令) 单元测试(对于其他组件,大约300个单元测试),angularjs,angularjs-directive,karma-jasmine,Angularjs,Angularjs Directive,Karma Jasmine,我的指令在模板中使用第三方指令,如下所示: <3rd-party-directive value="bindedValue" style="display:none;"></3rd-party-directive> <div>{{producedValue}}</div> {{producedValue}} 所以去那里没有什么神奇的。 我还为我的定制指令进行了单元测试(6个测试用例) 问题是: 如果我只为我的自定义指令(6个单元测试)运
<3rd-party-directive value="bindedValue" style="display:none;"></3rd-party-directive>
<div>{{producedValue}}</div>
{{producedValue}}
所以去那里没有什么神奇的。
我还为我的定制指令进行了单元测试(6个测试用例)
问题是:
- 如果我只为我的自定义指令(6个单元测试)运行单元测试,则成本为:
- 0.007秒
- 如果在没有自定义指令的情况下运行单元测试(300单元测试),则成本为:
- 2.3秒
- 如果我也使用自定义指令(306单元测试)运行单元测试,其成本为:
- 240秒。
我在自定义指令中创建了一个console.log,它似乎被调用了~600次!!!但是为什么以及如何?我认为单元测试就像沙盒一样,所以每个“描述”块都有自己的沙盒。解决这个问题有没有运气?我们看到了完全相同的事情。据我回忆,问题是我有一个
descripe
块,它在每个之前都有一个,还有更多的it
块在里面。问题是,不知何故,我将该块重命名为it
,因此descripe变成了一个it块,事情变得很疯狂。