模拟AWS响应/请求对象

时间:2019-02-25 22:51:05

标签: javascript amazon-web-services

再次返回... 因此,在解决了之前的问题之后,我尝试测试该功能,该功能已通过AWS.request和AWS.response对象。我目前收到一个错误,说res.setHeader不是一个函数。理想情况下,我想对响应和请求对象进行存根或模拟,以便我可以测试它们的设置是否正确。这是我正在测试的文件。

const Verifier = require('/verifier.js');

ValidatorFunc = function(callType){
    return function (req,res,next){
        let Header = req.headers[''];
        try {
        Verifier.verifierFunc(Header, callType, (Error) => {
            if (Error) {
                res.setHeader('Content-Type', 'application/json');
                res.status(401);
                res.json({
                    message : "Error "+ Error.message
                });
            } else {
                next();
            }
        });
        } catch (otherError) {
            res.setHeader('Content-Type', 'application/json');
            res.status(401);
            res.json({
                message : otherError.message
            });

        }
    }
}

到目前为止,我的测试看起来像这样

const { ValidatorFunc } = require('../src/Validator');
const aws  = require('aws-sdk');
jest.mock('aws-sdk');


describe('Validator', ()=>{

    test('Validator - Error', ()=>{
        let aFunc = ValidatorFunc('POST');
        let aVar = { headers: ""}; //Wrote this just to see how far I could get into the function
        let aVar2 = new aws.Response();
        aFunc(aVar, aVar2 ,null);

    });
});

我收到res.setHeader不是函数的错误。我认为我可能会以所有错误的方式进行此测试,因此我对如何更改此方法持开放态度。

0 个答案:

没有答案