Digamos en respuesta durante las pruebas que tengo tal matriz:
array = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ]Y quiero verificar si esta matriz realmente contiene esos valores:
array.should.be.a.Array() .with.lengthOf(response.body.length) .and.have.properties('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'); Como puede ver, no puedo usar aquí have.properties porque es una matriz, no un objeto. Entonces, ¿cómo puedo verificar?
Puede usar should.deepEqual para hacer coincidir la longitud y los valores con el orden
const arr = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ]; arr.should.deepEqual(arr); console.log("test passed"); <script src="https://cdnjs.cloudflare.com/ajax/libs/should.js/13.2.3/should.min.js"></script>Si necesita una coincidencia exacta, vaya con la respuesta de Chandan, si necesita hacer coincidir un subconjunto, puede usar should.containDeep (consulte los documentos ). Aquí hay un ejemplo:
const arr = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ]; arr.should.containDeep(['a', 'b', 'c', 'd']); console.log("test passed"); <script src="https://cdnjs.cloudflare.com/ajax/libs/should.js/13.2.3/should.min.js"></script>