javascript - 以 BDD 风格在 Javascript 中按内容比较两个数组

标签 javascript node.js underscore.js bdd mocha.js

我想使用 mocha 和 should 按内容比较两个不同的数组。

现在我使用 underscore.difference这样做:

test.js

var should  = require('should')
var _       = require('underscore')

_.difference(['one', 'two'], [ 'two']).should.eql([])

执行mocha test.js会产生非常可读的结果:

AssertionError: expected [ 'one' ] to equal []

有没有更好的方法来比较两个数组并获得确切的差异信息?

最佳答案

你拥有的一切都很好。两个更正是,我将切换到 lodash,而不是下划线,它与 API 兼容,但速度更快。

但在您的示例中,我会跳过 lodash/下划线,只需执行以下操作:

(['one', 'two']).should.eql(['two', 'three'])

如果您希望错误消息显示不同之处(而且不是那么明显),您应该坚持使用 lodash。

关于javascript - 以 BDD 风格在 Javascript 中按内容比较两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19182082/

相关文章:

javascript - 如何使用 Browserify + Gulp 要求 Underscore 模板

chrome 中的 Javascript split 函数给出了意想不到的结果

javascript - slick.js slider 问题

javascript - 预期响应包含一个数组但得到一个对象

node.js - Blob 存储 Azure 和 javascript,如何列出特定 Blob 的所有快照

javascript - 诗农 fakeTimers 不触发

javascript - 尝试将对象添加到主干集合时,此模型未定义

javascript - 调用返回的函数会更干净

javascript - 组件中的数据对象未定义

javascript - Node Res.write发送多个对象: