范围= {}和范围= $ rootScope。$ new()在Angular单元测试中的区别

时间:2015-08-10 16:31:52

标签: angularjs unit-testing

我注意到设置控制器的单元测试有两种方法 - scope = {} scope = $ rootScope。$ new() < / p>

我需要知道的是选择一个而不是另一个的原因。不幸的是,我没有看到任何解释为什么使用一个而另一个不使用。

我想, scope = {} 会更快,但还有其他进展吗?

1 个答案:

答案 0 :(得分:2)

如果要调用范围上的方法,例如void change(char *x) { *x = "abc"; printf("S3: %x\n", &x); printf("S4: %x\n", &*x); } int main() { char *y = "def"; printf("S1: %x\n", &y); printf("S2: %x\n", &*y); change(&y); printf("result: %s\n", y); return 0; } 或其他任何内容,则需要在您正在使用的.$watch对象上定义它们。 scope(空对象)没有这样的方法,但{}没有。

如果您不需要使用此类方法,那么实际上并不重要,您可以在对象上存根或定义这些方法,并将其作为范围注入。这取决于您的测试所需。