Chai-as-promised, Обещанный массив должен быть приблизительно равным

Есть ли способ утверждать, что массив промисов соответствует вашему золотому стандарту, за вычетом порядка? Глубокое равенство не работает, потому что порядок не гарантируется — массив строится асинхронно.

Насколько я могу судить, CaP не включает ".should.eventually.include.all([])" или что-то в этом роде. Я не думаю, что смогу проверить каждую запись, потому что тогда где будет цепочка уведомления (сделано)?


person Ledivin    schedule 16.11.2014    source источник


Ответы (2)


Вам может помочь плагин Chai Things.

Например, вы можете сделать что-то вроде:

.should.eventually.include.something.that.equals(promiseA);
.should.eventually.include.something.that.equals(promiseB);
.should.eventually.include.something.that.equals(promiseC);
person juunas    schedule 24.02.2015

Если я правильно понял ваш вопрос, вы должны сделать это следующим образом:

        Promise.all(arrayOfPromises).then(function (results) {
            //so check your results here
            for (var i = 0; i < results.length; i++) {
                results[i].should.have....
            }

           //and the notify(done) is chained after this
        }).should.eventually.notify(done);

Надеюсь, это поможет.

person Jukka Puranen    schedule 05.01.2016