【发布时间】:2022-01-22 01:03:11
【问题描述】:
我有一个使用 hapi-mongodb 插件的 hapijs 项目。
在处理程序中,我使用 hapi-mongodb 插件进行数据库调用。见下文
internals.getById = async (request, h) => {
try {
const db = request.mongo.db;
const ObjectId = request.mongo.ObjectID;
const query = {
_id: ObjectId(request.params.id)
};
const record = await db.collection(internals.collectionName).findOne(query);
//etc.....
我希望能够使用 server.inject() 对其进行测试,但我不确定如何存根 request.mongo.db 和 request.mongo.ObjectID
it('should return a 200 HTTP status code', async () => {
const server = new Hapi.Server();
server.route(Routes); //This comes from a required file
const options = {
method: 'GET',
url: `/testData/1`
};
//stub request.mongo.db and request.mongo.ObjectID
const response = await server.inject(options);
expect(response.statusCode).to.equal(200);
});
有什么想法吗?
【问题讨论】: