如何抑制不需要的ui-router'否则'单元测试中的转换?

时间:2017-08-01 20:30:40

标签: angularjs unit-testing angular-ui-router

使用最新的@ui-router/angularjs,我的状态配置了otherwise块:

$urlRouterProvider.otherwise('/page');

我还有一个.run()块,它使用$transitions.onBefore()挂钩执行安全检查,类似于ui-router's sample app

我的问题是,我运行的任何Karma测试都会触发以下内容:

  • .otherwise()块运行
  • 反过来尝试导航到/page
  • 导致.run()块运行
  • 执行$http次服务电话以及其他不必要的工作

对于运行angular.mock.module('module')的任何测试都会发生这种情况,即使我没有明确测试任何路由行为。即使我只是加载$componentController而没有别的。

可以通过为$httpBackend块中发生的服务调用添加.run()模拟来解决这个问题,但我觉得应该有更好的方法。

那么,一旦你有ui-router推荐的默认路由和.run()块,测试的最佳做法是什么?

0 个答案:

没有答案