我正在编写一个发射和事件的AngularJS单元测试,然后调用服务以查看事件是否已正确处理。
$rootScope.$emit('MY_EVENT');
expect(MyService.foo).toEqual('bar');
我的服务以传统方式实现事件监听器:
// function called asynchronously?
$rootScope.$on('MY_EVENT', function(event, result) {
//do something synchronous
});
虽然我的测试目前已通过,但我担心我的事件监听器可能是异步处理的。
我的问题是,在我的期望之前调用$rootScope.$digest()
足以确保所有事件监听器都已被调用并返回?