Сериализация объектов машинописи?

Как уже указывалось здесь , более новые версии Mocha уже осведомлены о Promise. Но поскольку ОП задал конкретно вопрос о Чай, справедливо отметить пакет chai-as-promised, который обеспечивает чистый синтаксис для тестирования обещаний:

с использованием chai-as-обещанного

как вы можете использовать chai-as-обещали протестировать оба случая resolve и reject для обещания:

var chai = require('chai');
var expect = chai.expect;
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);

...

it('resolves as promised', function() {
    return expect(Promise.resolve('woof')).to.eventually.equal('woof');
});

it('rejects as promised', function() {
    return expect(Promise.reject('caw')).to.be.rejectedWith('caw');
});

без chai-as-обещанного

Чтобы сделать это действительно ясно, что тестируется, вот тот же пример, закодированный без chai-as-обещал:

it('resolves as promised', function() {
    return Promise.resolve("woof")
        .then(function(m) { expect(m).to.equal('woof'); })
        .catch(function(m) { throw new Error('was not supposed to fail'); })
            ;
});

it('rejects as promised', function() {
    return Promise.reject("caw")
        .then(function(m) { throw new Error('was not supposed to succeed'); })
        .catch(function(m) { expect(m).to.equal('caw'); })
            ;
});

30
задан Nik 28 April 2013 в 08:38
поделиться

1 ответ

Я думаю, что лучший путь состоит в том, чтобы пользоваться этой библиотекой. Это помогает сериализировать/десериализовать object/json.

https://www.npmjs.com/package / peerlancers/json-serialization

-1
ответ дан 27 November 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: