Angularjs 是否在UI路由器中获取当前控制器实例?(在测试中)

Angularjs 是否在UI路由器中获取当前控制器实例?(在测试中),angularjs,unit-testing,angular-ui-router,Angularjs,Unit Testing,Angular Ui Router,我为基于的路由设置了一个测试。我现在想检查注入路由控制器的东西是否设置正确。从state对象,我只能得到控制器的构造函数。我想知道如何访问实际实例?这可能太迂回了,不能作为正式的解决方案,但它似乎可以工作。如果在您的状态中使用controller作为语法,即“SomeController as ctrl”,那么它将被添加到具有给定名称的$scope对象中。之后,您可以在以下网址找到此信息: $state.$current.locals['@viewname'].$scope.ctrl …其中,

我为基于的路由设置了一个测试。我现在想检查注入路由控制器的东西是否设置正确。从state对象,我只能得到控制器的构造函数。我想知道如何访问实际实例?

这可能太迂回了,不能作为正式的解决方案,但它似乎可以工作。如果在您的状态中使用controller作为语法,即“SomeController as ctrl”,那么它将被添加到具有给定名称的$scope对象中。之后,您可以在以下网址找到此信息:

$state.$current.locals['@viewname'].$scope.ctrl
…其中,“@viewname”将是视图的名称,“ctrl”是控制器别名

也许应该有一个更简单的方法来做到这一点。对于编写跨多个状态的测试来说,这将是一个非常方便的特性(无需借助诸如量角器/硒之类的工具)