aws-sdk-mock проверяет службу SNR вызова SNS - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь проверить, что я предоставил правильные аргументы в ctor службы для SNS, но я не знаю, как это сделать.

Теперь я знаю, как проверить публикацию, носнова я пытаюсь проверить ожидания для функции SNS / ctor.

Вот некоторый псевдокод:

//code
const AWS = require('aws-sdk');
const SNS = new AWS.SNS({bobby:'no'});

//test
const AWSmock = require('aws-sdk-mock');

describe('something', () => {
    beforeAll(()=>{
        AWSmock.mock('SNS','publish', Promise.resolve());
    });
    test('doing it', () => {
        const f = require('file');

        expect(AWSmock.SNS.calledWith({})).toEqual(true); //this example would be false, but I can't figure out how to reference the SNS method here
    });
});

1 Ответ

0 голосов
/ 11 апреля 2019

Из документации aws-sdk-mock:

Структуры проекта, которые не содержат `aws-sdk` в папке проекта node_modules верхнего уровня, не будут должным образом смоделированы.Примером этого может быть установка `aws-sdk` во вложенном каталоге проекта.Вы можете обойти это, явно указав путь к вложенному модулю `aws-sdk`, используя` setSDK () `.
//code
const AWS = require('aws-sdk');
const SNS = new AWS.SNS({bobby:'no'});

//test
const AWSmock = require('aws-sdk-mock');
// setting the AWS explicitly might help
AWSMock.setSDKInstance(AWS);

describe('something', () => {
    beforeAll(()=>{
        AWSmock.mock('SNS','publish', Promise.resolve());
    });
    test('doing it', () => {
        const f = require('file');

        expect(AWSmock.SNS.calledWith({})).toEqual(true); //this example would be false, but I can't figure out how to reference the SNS method here
    });
});
...