我正在尝试向正在开发的节点应用程序添加一些测试。我仔细阅读了有关手动模拟的jest文档,并尝试按照说明创建模拟文件夹。请在下面找到文件夹结构。
app
- firebase
- fb.js
- __mocks__
- fb.js
- firebase-admin.js
- resolvers
- mutation.js
__tests__
- user.spec.js
如您所见,我尝试模拟两个模块,即fb.js(用户模块)和firebase-admin.js(node_modules模块)。firebase-admin.js模拟工作没有任何问题。但是用户模块模拟甚至还没有被玩笑所吸引。实际的fb.js模块一直都在被调用。
我曾尝试为项目中的各种用户模块创建模拟目录,但是没有一个被使用。我还缺少任何额外的配置吗?目前,我正在通过仅模拟firebase-admin节点模块来解决此问题。但是我想模拟用户模块而不是firebase-admin模块,以便也模拟我的firebase配置。请让我知道是否需要更多信息。
__mocks __ / fb.js
module.exports = {
auth: jest.fn(() => "testing")
};
__mocks __ / fb-admin.js
module.exports = {};
__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 response = await app.post('/')
.send({
query: `mutation {
signUp(idToken: "esd45sdfd...") {
user {
id
locked
revoked
}
}
}
`,
})
.set('Accept', 'application/json')
.expect(200);
console.log(response.text);
});
});
应用程序/解析器/mutation.js
const admin = require('../firebase/fb');
/* other app code here */
ITMISS
隔江千里
随时随地看视频慕课网APP
相关分类