【问题标题】:how to do unit-test on compiled template when using "controller as"?使用“控制器作为”时如何对编译的模板进行单元测试?
【发布时间】:2015-08-15 04:04:51
【问题描述】:

我尝试使用模板对我的控制器进行单元测试。如果一切都与 $scope 有关,我可以对其进行测试。但是,一旦我使用“controller as”语法,它就不起作用了。这是有道理的,因为现在一切都与控制器有关。但是如何让它发挥作用呢?

我使用 Jasmine 和 Karma 作为我的测试环境。

【问题讨论】:

  • 假设你有 vm 作为控制器名称。然后你可以使用 $scope.vm 来访问模型
  • 谢谢!这是一种方法,但听起来有点hacky。还有其他解决办法吗?

标签: angularjs unit-testing jasmine karma-runner


【解决方案1】:

假设您有 vm 作为控制器名称。然后你可以使用$scope.vm 来访问模型

【讨论】:

  • 我找到了一种方法,但不确定它是否是最好的。
【解决方案2】:

我想通了。

Ctrl = $controller('Ctrl as vm', { $scope: $scope });

【讨论】:

  • as 名称应该与我们指定无路由器的名称相同还是可以不同?
猜你喜欢
  • 2014-09-10
  • 2011-11-23
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 2012-04-24
  • 2018-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多