【问题标题】:Unit test a Frontend Page Reload单元测试前端页面重新加载
【发布时间】:2014-08-12 11:52:13
【问题描述】:

我有一个使用 localStorage 保持其状态的 Web 前端。

即页面重新加载时会向用户显示相同的页面。

我现在想对重新加载后显示的页面与重新加载前显示的页面进行单元测试。

使用 PhantomJS 在 karma runner 中执行 window.location.reload() jasmine 测试会引发错误“您的一些测试完成了整页重新加载!”。

有没有办法对页面重新加载进行自动化测试?我愿意切换测试框架、测试运行器和测试浏览器。

谢谢!

【问题讨论】:

  • 您是否已经启动了 e2e 测试套件?这似乎超出了单元测试基本功能的范围。
  • @TomA 是的,您似乎是对的,我实际上找到了我的问题的答案,请参阅我的回复

标签: javascript unit-testing jasmine frontend karma-runner


【解决方案1】:

您描述的测试是功能测试,而不是单元测试。

您需要一个支持功能测试的测试运行器。

Karma 不支持功能测试,但例如CasperJS 可以。

【讨论】:

  • 当然你可以在 karma 中进行功能测试。它只需要一点点工作,但您所要做的就是编译您的 html,与范围链接,运行 scope.digest(),然后您就有了一个几乎完美响应的对象。请记住在设置带有 UI 交互的测试时触发适当的事件,但除此之外,一切都很好。
  • @wizardwerdna,感谢您的评论,但是您能否使用示例代码为这个问题创建一个实际的答案?听起来您在谈论特定于 Angularjs 的解决方案。
猜你喜欢
  • 2014-09-07
  • 2019-06-29
  • 2012-04-12
  • 2014-01-21
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
相关资源
最近更新 更多