首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用should.js断言该集包含所需的值?

如何使用should.js断言该集包含所需的值?
EN

Stack Overflow用户
提问于 2016-01-03 13:46:00
回答 1查看 1.1K关注 0票数 0

我在单元测试中使用should.js库进行断言,并想知道如何断言Set的内容与预期相符。

代码语言:javascript
运行
复制
let actualValues = new Set();
actualValues.add(2);
actualValues.add(4);
actualValues.add(6);

actualValues.should.be....... ?

我的第一反应是使用Array.from(actualValues),然后将其与期望值进行比较;但是,actualValues的顺序自然是没有定义的,因为它是一个Set

以下是工作,但似乎相当冗长:

代码语言:javascript
运行
复制
actualValues.size.should.be.eql(3);
actualValues.has(2).should.be.true();
actualValues.has(4).should.be.true();
actualValues.has(6).should.be.true();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-03 15:55:34

您可以迭代一个集合,并断言每个项也在第二个集合中,然后断言它们的大小相等。

代码语言:javascript
运行
复制
const should = require('should')

const set1 = new Set(['red', 'green', 'blue']);
const set2 = new Set(['blue', 'red', 'green']);
for (let x of set1) {
  set2.has(x).should.be.true()
}
set2.size.should.equal(set1.size)

对于像haveSameContent(set1, set2)这样的助手函数来说,这可能是一个很好的选择,如果您想要做一些类似set1.should.have.same.items.as(set2)的事情,那么您也可以将它编码成一个should.js扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34577176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档