如何使用angularjs + ui.router测试默认路由?

时间:2014-04-07 15:04:37

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

在要点https://gist.github.com/CarmineM74/10021667

您可以看到2个文件:

  1. app.coffee 包含状态配置

  2. states.coffee 此测试的目标是检查正确的回退行为 过渡到一个未发生的状态。 我认为通过$ sate.go(...)强制转换就足够了 一个未发生的状态,然后检查$ sate.current.name =='home'

    运行测试时,我得到:

    错误:无法解决状态''中的'really.unexisting.state'...

  3. 我做错了什么?

    提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

经过一番研究后,我发现,为了进行测试运行,我必须考虑$ state.go(...)在找不到状态时抛出异常的事实。

因此,我必须将该调用包装在:

expect( ->
  $state.go('blah')
  $rootScope.$digest()
).toThrow()

这可以防止测试因抛出异常而失败。

剩下的是:我如何测试重定向到主页'状态?

相关问题