测试有一点奇怪的场景-我的.run中有一个监听器,我希望能够用karma进行测试,我不确定我是否正确地处理了这个问题,并且可以使用一些建议
所以基本上就是
.run(function($rootScope, $location) {
$rootScope.$on('$locationChangeSuccess', function() {
//functionality i would like to test in here
});我想知道解决这个问题的最好方法是测试?我在想,如果我能以某种方式将位置更改为fire,那就太好了,然后我就可以期待结果回来了。我正在使用Karma/chai/sinon。谢谢!
发布于 2015-07-06 06:40:57
首先,您需要监视需要测试的函数,例如,您有一个带有'setConfig‘函数的'config’服务:
spyOn(config, 'setConfig');然后更改位置路径:
location.path('/route1');然后发出事件$stateChangeSuccess
$rootScope.$emit('$stateChangeSuccess');例如,测试可以是:
expect(config.setConf).toHaveBeenCalledWith('param1', '/route1');https://stackoverflow.com/questions/29113336
复制相似问题