【发布时间】:2014-05-02 10:01:33
【问题描述】:
我有一个控制器的单元测试,它在其范围内监视变量。当我更改变量的值时,不会触发 $watch。
【问题讨论】:
标签: angularjs unit-testing mocha.js
我有一个控制器的单元测试,它在其范围内监视变量。当我更改变量的值时,不会触发 $watch。
【问题讨论】:
标签: angularjs unit-testing mocha.js
你的测试中这样的东西应该确保它是更新的:
it('should update watched value', function() {
$scope.$apply(function() {
$scope.yourWatchedVariable = 'new value';
});
//expect something to happen based on watch
});
【讨论】:
你需要在作用域上调用 $apply()。
$watch 在每个摘要循环中评估监视变量,但在单元测试中摘要不会连续运行 - 您必须通过调用 $apply 或 $digest 自己调用它。
【讨论】: