【问题标题】:Testing javascript functions across page load跨页面加载测试 javascript 函数
【发布时间】:2014-09-15 16:30:16
【问题描述】:

我有一个适用于状态的代码。在每次状态更改时,当前状态都会保存到 sessionStorage,当用户访问不同的页面时,该状态会从 sessionStorage 加载回来。

我想测试状态是否正确保存到存储中,并且页面加载是否正确加载回。但我不知道如何测试这个场景。

我目前正在使用 Mocha,但我只知道如何在其中编写单元测试。

【问题讨论】:

  • 我认为这个其他问题的答案可以提供帮助:stackoverflow.com/questions/13689110/… Mocha 本身不足以涵盖这种集成测试,另一种选择是进行单元测试和模拟会话存储,但它看来你想做某种集成测试

标签: javascript unit-testing mocha.js end-to-end


【解决方案1】:

Mocha 本身不足以实现这一点,您需要一个工具来让您端到端地做到这一点

我正在测试一个名为 phantomjs (http://phantomjs.org/) 的奇妙东西,你可以这样做:

var webpage = require('webpage');
var page = webpage.create();
page.open('http://www.google.com', function() {
  window.localStorage.setItem("test", "xtest");
  console.log(window.localStorage);

  page = webpage.create();
  page.open('http://www.google.com', function() {
    console.log(
        window.localStorage.getItem("test")
        ); // xtest
    console.log(window.localStorage);
    phantom.exit();
  });
});

您还需要 node-phantom (https://www.npmjs.org/package/phantom) 以允许您使用同一 node.js 脚本中的 mocha 和 phantomjs 来编写测试

【讨论】:

    猜你喜欢
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多