javascript - 使用自定义函数扩展 should.js

标签 javascript node.js should.js

我有一个简单的 混合:

var _ = require('lodash')
_.mixin(require('lodash-uuid'))

我可以在代码中使用它,如下所示:

if (_.isUuid(someValue)) {
   // it's a uuid!
}

我希望能够延长基于 - 的测试来利用此模块,例如:

response.should.have.property('uuid').which.is.a.uuid()

docs对于延伸应该轻一点;我尝试过:

var uuid = should.extend('uuid', _.isUuid)

但这会抛出:

TypeError: response.should.have.property(...).which.is.a.uuid is not a function

最佳答案

你使用了不正确的方法。您使用的方法是向任何对象添加 should getter。您需要使用 should.Assertion.add,例如:

var should = require('should');

should.Assertion.add('uuid', function() {
  this.params = { operator: 'to be UUID' };

  this.assert(_.isUuid(this.obj));
});

关于javascript - 使用自定义函数扩展 should.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683527/

相关文章:

javascript - 如何使用 javascript 显示/隐藏 Flash 对象

javascript - 如何在 node js 中生成和验证 JWE?

javascript - Node.js + Chai/Mocha/应该 : running multiple tests against the same response

javascript - 在 JavaScript 中读取数组

javascript - 请求nodejs模块不支持某些url的重定向

javascript - 不应该按预期工作

javascript - 使用 shouldjs 检查无序数组中的值

javascript - 子菜单不适用于 ReactJs 中的多个项目?

javascript - 单击时更改另一个元素的 Z 索引

javascript - 将 HTML 元素转换为数组并处理 null