有没有办法在$ rootScope上测试这个匿名函数。$ on?

时间:2016-05-03 22:04:13

标签: angularjs jasmine angular-mock

这是我正在使用的控制器:

function CategoryController($rootScope, CategoryList, ProductList) {
var vm = this;
vm.categories = CategoryList;
vm.products = ProductList;
$rootScope.$on('OC:FacetsUpdated', function(e, productList) {
    productList ? vm.products = productList : vm.products = ProductList;
})

}

我想测试一下,当广播被触发时,如果productList(来自广播)有值,vm.products值将会改变。

我知道我可以触发广播,但据我所知,我无法监视匿名功能。想法?

1 个答案:

答案 0 :(得分:1)

正如documentation所说,spyOn你要测试的功能是没有意义的。您的目的是要测试匿名函数的逻辑,因此只需发出事件并检查vm.products是否已更改。