我想使用 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/