узел js - добавление vandium приводит к сбою проверки компонента, hook-std не является функцией - PullRequest
0 голосов
/ 24 сентября 2018

Я использовал проверку Joi для проверки входящего лямбда-события AWS, но мне стало известно о проекте под названием vandium (https://www.npmjs.com/package/vandium), который обрабатывает проверку события для ламабды, запускаемой уведомлением о событии S3. Код выглядит следующим образом:

const vandium = require('vandium');

exports.handler = vandium.s3(async(event, content) => {
     ...
});

Но это привело к сбою тестов компонентов - использует chai, hook-std, cucumber, aws-sdk-mock и aws-lambda-mock-content. Это шаг Когда вкомпонентный тест, в котором, как мне кажется, возникает проблема:

When('the lambda is triggered by the event notification', async() => {
    let unhookStdOut = hookStd.stdout(output => {
        world.logs += output;
    });

    let unhookErrOut = hookStd.stderr(output => {
        world.errors += output;
    });

    try {
        world.actualOutput = await index.handler(world.event, ctx);

        unhookStdOut();
        unhookErrOut();
    } catch (error) {
        console.log(error);
        world.actualError = error;
    }
});

Я не мог понять, в чем проблема, поэтому я закомментировал строки unhookStdOut (от 2 до 4 и 12), чтобы увидеть ведение журнала, и я получил:

TypeError: unhookErrOut is not a function
      at CustomWorld.When 
      at <anonymous>
      at process._tickDomainCallback (internal/process/next_tick.js:228:7)

Это не имело смысла, так как я не менял ни один из тестов компонентов, прежде чем я добавил в vandium, и они работали. Любые идеи, это ошибка с vandium?

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