chai-url

一个用于处理 url 的 Chai 断言插件

提供了一些用于处理 url 的断言辅助函数。

用法

const chai = require('chai');
chai.use(require('chai-url'));

chai.expect('http://example.com/foo/bar').to.have.path('/foo/bar');
chai.expect('http://example.com/foo/bar').to.have.protocol('http');

可用的匹配器

  • path
  • pathname
  • port
  • hostname
  • protocol
  • auth
  • hash

在每种情况下,该属性都会与 node 的 url.parse 方法中对应的属性进行比较。

对于 hashprotocol 属性,它们可能以 #: 分别进行前缀/后缀,这些字符是可选的,它们的存在与否都会匹配。

部分匹配

pathpathnamehostnameauthhash 函数也可以基于子字符串执行部分匹配,方法是在测试语句中使用 contains 子句。

expect('http://example.com/foo/bar').to.contain.path('/foo');

示例

有关更多示例,请参见 此模块的测试