在BDD样式的Javascript中按内容比较两个数组
我想比较两个不同的数组的内容使用摩卡和应该 现在我经常这样做: test.js在BDD样式的Javascript中按内容比较两个数组,javascript,node.js,underscore.js,bdd,mocha.js,Javascript,Node.js,Underscore.js,Bdd,Mocha.js,我想比较两个不同的数组的内容使用摩卡和应该 现在我经常这样做: test.js var should = require('should') var _ = require('underscore') _.difference(['one', 'two'], [ 'two']).should.eql([]) 执行mocha test.js会产生非常可读的结果: AssertionError:预期['one']等于[] 有没有更好的方法来比较两个数组并获得确切的信息—不同之处是什
var should = require('should')
var _ = require('underscore')
_.difference(['one', 'two'], [ 'two']).should.eql([])
执行mocha test.js会产生非常可读的结果:
AssertionError:预期['one']等于[]
有没有更好的方法来比较两个数组并获得确切的信息—不同之处是什么 你所拥有的一切都很好。两个更正是,我将切换到lodash,而不是下划线,它与API兼容,但速度更快 但在您的示例中,我将跳过lodash/下划线,只需执行以下操作:
(['one', 'two']).should.eql(['two', 'three'])
如果你想让错误消息告诉你什么是不同的(而且不是很明显),你应该坚持使用lodash。你说的更好的方法是什么意思?当前的方法有什么问题?它可以工作,但当前的逻辑是反向的-获取两个数组之间的差异并与空数组进行比较