Ошибка подтверждения Ожидалось, что журнал был вызван с совпадающими аргументами при тестировании console.log с использованием nodjs mocha chaiAsPromised - PullRequest
0 голосов
/ 14 сентября 2018

Таким образом, когда я пытаюсь проверить, должен ли console.log вызываться с ошибкой из обещания, он возвращается со следующей ошибкой:

1) Main getFileFromS3 с ошибкой в ​​случае ошибки с бла: AssertionError: ожидаемый журнал будет вызван с аргументами бла-бла

Это мой основной код:

    const Promise = require('bluebird');
const AWS = require('aws-sdk');

const s3 = new AWS.S3({
});

const s3GetObject = Promise.promisify(s3.getObject.bind(s3));

async function getS3File(){
  try {
    const contentType = await s3GetObject(s3Params);
    await console.log('CONTENT:', contentType);
    return contentType;
  } catch (err) {
    await console.log(err);
  }
};

И это мой тест:

const rewire = require('rewire');
const chai = require('chai');
const sinonChai = require('sinon-chai');
const sinon = require('sinon');
const chaiAsPromised = require('chai-as-promised');

chai.should();
chai.use(sinonChai);
chai.use(chaiAsPromised);

describe('Main', () => {

  describe('getFileFromS3', () => {
    let sut, getS3FileStub, callS3Stub;

    beforeEach(() => {
      sut = rewire('../../main');
      getS3FileStub = sut.__get__('getS3File');
      sinon.spy(console, 'log');
    });

    afterEach(() => {
      console.log.restore();
    });

    it('should be a function', () => {
      getS3FileStub.should.be.a('function');
    });

    describe('with error', () => {
      beforeEach(() => {
        s3GetObjectStub = sinon.stub().rejects('blah');
        sut.__set__('s3GetObject', s3GetObjectStub);
        getS3FileStub = sut.__get__('getS3File');
      });

      it('should error with blah', async () => {
        await getS3FileStub();
        console.log.should.be.calledWith('blah');
      });
    });
  });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...