Я использую библиотеку should.js для утверждений в своих модульных тестах и задавался вопросом, как я буду утверждать, что содержимое Set
соответствует ожиданию.Как утверждать, что Set содержит необходимые значения с should.js?
let actualValues = new Set();
actualValues.add(2);
actualValues.add(4);
actualValues.add(6);
actualValues.should.be....... ?
Мой первый инстинкт должен был использовать Array.from(actualValues)
, а затем сравнить его с ожидаемыми значениями; но, естественно, порядок actualValues
не определен, так как это Set
.
Следующие работы; но мне кажется довольно громоздким:
actualValues.size.should.be.eql(3);
actualValues.has(2).should.be.true();
actualValues.has(4).should.be.true();
actualValues.has(6).should.be.true();
Это хороший запрос функции. Лучше всего вы можете сделать преобразование в массив и использовать containsDeep –