gpt4 book ai didi

javascript - FeathersJS:在服务测试中注入(inject) HTTP header

转载 作者:行者123 更新时间:2023-11-30 14:06:40 26 4
gpt4 key购买 nike

在 feathersJS 服务中,我有一个正在运行的 before Hook ,它期望某个 HTTP header 存在:

src/services/service_name/service_name.hooks.js

const validationHook = () => (context, next) => {
if (!context.params.headers.hasOwnProperty('header-wanted'))
throw new errors.BadRequest();
next(null, context);
};

module.exports = {
before: {
all: [cronValidationHook()],
...
..
.

但是,当在 feathers-cli 生成的测试文件中测试此服务时,我还没有找到在调用 before Hook 之前注入(inject) header 的方法。有问题的测试是:

测试/服务/service_name.test.js

describe('get', () => {
it('should run "id" endpoint', async () => {
const service = app.service('v1/cron');
const resp = await service.get('id', params);
// Assertions exist after this call
});
});

有没有不需要通过 node-fetchrequests 使用 HTTP 调用的方法?

最佳答案

params 将是您传递的任何内容。只需将 params.headers 设置为您想要测试的内容,例如

const getParams =  {
...params,
headers: { 'header-wanted': 'something' }
};
const resp = await service.get('id', getParams);

关于javascript - FeathersJS:在服务测试中注入(inject) HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55250663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com