我注意到设置 Controller 的单元测试时有两种方法 - scope = {} 和 scope = $rootScope.$new()
我需要知道的是选择其中之一的原因。不幸的是,我还没有看到任何解释为什么使用一个而另一个没有。
我想,scope = {}会更快,但是还有其他进步吗?
最佳答案
如果您想调用作用域上的方法,例如 .$watch
或其他任何内容,则需要在您正在使用的 scope
对象上定义它们。 {}
(空对象)没有此类方法,但 $rootScope.$new
有。
如果您不需要使用此类方法,那么实际上使用什么方法并不重要,您可以在对象上 stub 或定义这些方法并将其作为作用域注入(inject)。这取决于您的测试需要什么。
关于angularjs - Angular 单元测试中scope = {} 和scope = $rootScope.$new() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924720/