最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在nodejs中测试URL查询字符串

IT培训 admin 6浏览 0评论

在nodejs中测试URL查询字符串

大家好,我创建了一个可以管理和控制URL查询字符串的包。我把它发布给npm。并将一些测试写入包的核心

“parser.js” - 将查询字符串解析为对象

“strigifyer.js” - 使对象成为URL查询字符串

我现在用“mocha”和“expect”测试这些文件

有一个主文件管理上述文件,该文件也推送到URL查询字符串而不刷新。它使用window.history对象。

我应该怎样做才能成功测试主文件(index.js)?

我需要窗口和历史对象来检查我使用api后是否有变化。

如果它的帮助,这是包:

谢谢。

回答如下:

如果我理解正确,那么暴露你的库的模块就是src/index.js

从index.js的代码样式,我建议使用sinon来测试你的代码流。

单元测试可以是:

import sinon from 'sinon'
import qs from 'src/index.js'

it('should reset queryStringObject', () => {
  const pushToUrlSpy = sinon.spy(qs, 'pushToUrl');
  qs.reset(true);
  expect(qs.queryStringObject).to.equal({});
  expect(pushToUrlSpy.called);
  pushToUrlSpy.restore();
})

此代码在pushToUrl()上创建一个间谍,调用reset()并断言queryStringObject现在是一个空对象,并且pushToUrl()被调用至少一次。最后它恢复了间谍,否则其他测试可能会很奇怪。

在nodejs中测试URL查询字符串

大家好,我创建了一个可以管理和控制URL查询字符串的包。我把它发布给npm。并将一些测试写入包的核心

“parser.js” - 将查询字符串解析为对象

“strigifyer.js” - 使对象成为URL查询字符串

我现在用“mocha”和“expect”测试这些文件

有一个主文件管理上述文件,该文件也推送到URL查询字符串而不刷新。它使用window.history对象。

我应该怎样做才能成功测试主文件(index.js)?

我需要窗口和历史对象来检查我使用api后是否有变化。

如果它的帮助,这是包:

谢谢。

回答如下:

如果我理解正确,那么暴露你的库的模块就是src/index.js

从index.js的代码样式,我建议使用sinon来测试你的代码流。

单元测试可以是:

import sinon from 'sinon'
import qs from 'src/index.js'

it('should reset queryStringObject', () => {
  const pushToUrlSpy = sinon.spy(qs, 'pushToUrl');
  qs.reset(true);
  expect(qs.queryStringObject).to.equal({});
  expect(pushToUrlSpy.called);
  pushToUrlSpy.restore();
})

此代码在pushToUrl()上创建一个间谍,调用reset()并断言queryStringObject现在是一个空对象,并且pushToUrl()被调用至少一次。最后它恢复了间谍,否则其他测试可能会很奇怪。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论