我正在尝试向我正在开发的节点应用程序添加一些测试。我浏览了手动模拟的 jest 文档,并尝试按照说明创建mocks文件夹。请在下面找到文件夹结构。
app
- firebase
- fb.js
- __mocks__
- fb.js
- firebase-admin.js
- resolvers
- mutation.js
__tests__
- user.spec.js
Run Code Online (Sandbox Code Playgroud)
如您所见,我尝试模拟两个模块,fb.js(用户模块)和 firebase-admin.js(node_modules 模块)。firebase-admin.js 模拟工作没有任何问题。但是用户模块模拟甚至没有被开玩笑所接受。实际的 fb.js 模块一直在被调用。
我曾尝试为我的项目中的各种用户模块创建mocks目录,但没有一个被选中。有没有我缺少的额外配置??。目前我正在通过仅模拟 firebase-admin 节点模块来解决此问题。但我想模拟 user 模块而不是 firebase-admin 模块,以便我的 firebase 配置也被模拟。如果需要更多信息,请告诉我。
__mocks__/fb.js
module.exports = {
auth: jest.fn(() => "testing")
};
Run Code Online (Sandbox Code Playgroud)
__mocks__/fb-admin.js
module.exports = {};
Run Code Online (Sandbox Code Playgroud)
__tests__/user.spec.js
const request = require('supertest');
const server = require('../app').createHttpServer({});
const app = request(server);
describe('login resolvers', () => {
test('should sign up user', async () => {
const …Run Code Online (Sandbox Code Playgroud) 当将grpc与nestjs一起使用时,有没有办法为客户端设置grpc拦截器?
我的用例是
为从一个微服务到另一个微服务的每个传出请求设置授权标头,而无需每次都编写代码来设置标头。
目前,每次进行 grpc 服务调用时,我都会在元数据中设置授权标头。如果我有一个共同的地方来处理这些通用需求,那就更好了。