跨页面加载测试javascript函数

时间:2014-09-15 16:30:17

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

我有一个适用于州的代码。在每个状态更改时,当前状态将保存到sessionStorage,当用户进入不同页面时,状态将从sessionStorage加载回来。

我想测试状态是否已正确保存到存储,并且正确加载了页面加载。但我不知道如何测试这种情况。

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

1 个答案:

答案 0 :(得分:0)

摩卡本身不足以实现这一目标,你需要一个工具来让你端到端地做到这一点

我正在测试一个名为 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和phantomj来编写测试