我注意到设置控制器的单元测试有两种方法 - scope = {} 和 scope = $ rootScope。$ new() < / p>
我需要知道的是选择一个而不是另一个的原因。不幸的是,我没有看到任何解释为什么使用一个而另一个不使用。
我想, scope = {} 会更快,但还有其他进展吗?
答案 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
(空对象)没有这样的方法,但{}
没有。
如果您不需要使用此类方法,那么实际上并不重要,您可以在对象上存根或定义这些方法,并将其作为范围注入。这取决于您的测试所需。