我正试图用chai和sinon为我的NodeJS应用程序编写单元测试,但在模拟我的kneX查询构建器时遇到了问题.
我在app.js文件中将kneX实例化为database
,然后将其附加到应用程序的上下文中.
我要为其编写单元测试的函数由GraphQL查询调用,database
作为参数从上下文传递.然后在该函数中构造查询.我在下面创建了一个简短的示例.(我使用的是js,而不是Typescript )
module.exports = async ({ database, data }) => {
const queryObject = database.table('nice')
.withSchema('very')
.select(['some_col_1', 'some_col_2', 'some_col_3']);
if (data) {
queryObject.where('some_col_1', data.something);
}
const foo = await queryObject
.catch((err) => {
console.log(err)
});
//Do something with foo...
};
我花了一整天的时间试图让它工作,但我一点运气都没有.我遇到的最接近的情况是收到一个错误,显示为queryObject is not a function
.
其他示例设置了存储库,但我在需要特定查询的函数中构建查询.
任何帮助都将不胜感激.