javascript - 跨页面加载测试 JavaScript 函数

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

我有一个与状态一起使用的代码。每次状态更改时,当前状态都会保存到 sessionStorage 中,当用户进入不同页面时,状态会从 sessionStorage 加载回。

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

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

最佳答案

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 来编写测试

关于javascript - 跨页面加载测试 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852653/

相关文章:

javascript - HTML - 带有 "more"下拉菜单的动态水平导航

javascript - RSelenium:向下滚动以加载网页内容

javascript - onmouseover="document.getElementById 多个 div

reactjs - 有没有办法使用 webpack 和 mocha 在我的单元测试中模拟 `process.env.NODE_ENV` ?

selenium - Selenium 测试后 Internet Explorer 11 未关闭

typescript - mocha 和 ts-node 找不到本地 .d.ts 文件

javascript - 如何动态加载外部CSS文件?

java - 在 JUnit 4 Java 中使用 @BeforeClass 和使用实例或静态变量有什么区别?

java - 在测试类中使用可访问的私有(private)字段运行测试

javascript - 从主方法调用并包含 http 请求授权的子方法的单元测试