Стоит задача проверить работа метода, который возвращает массив. Порядок элементов не важен, важно только их наличие/отсутствие. Используются mochajs + chaijs.
Первое, что приходит на ум, это eql. Метод сработает для:
expect([1,2,3]).to.eql([1,2,3]); // true |
Но обломается на :
expect([3,1,2]).to.eql([1,2,3]); // false |
Что б сравнить массивы как два множества необходимо использовать members. Когда два множества одинаковые? Когда первое является подмножеством второго, а второе — подмножеством первого. Пример:
var a = [1,2,3], b[3,1,2]; expect(a).to.include.members(b); // true expect(b).to.include.members(a); // true |
Если оба expect’a вернули true, то множества содержат одинаковые элементы и тест можно считать выполненным.
13 марта, 2014 в 7:51 пп
Отталкивает меня название как-то. Не стал бы пользоваться mocha 😀
13 марта, 2014 в 8:45 пп
Если что http://translate.google.com/#en/ru/mocha
«кофе мокко» 😉